Eggdrop & Tcl

Base de connaissances eggdrop et tcl

Outils pour utilisateurs

Outils du site


tcl:file

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
tcl:file [2023/10/11 13:15] CrazyCattcl:file [2023/10/12 09:22] (Version actuelle) – [attributes] CrazyCat
Ligne 4: Ligne 4:
 <code tcl>file option name ?arg arg ...?</code> <code tcl>file option name ?arg arg ...?</code>
 ===== Description ===== ===== Description =====
-Cette commande fournit plusieurs opérations sur un nom ou des attributs de fichier. Name est le nom d'un fichier; s'il commence avec un tilde, alors la substitution tilde est faite avant l'exécution de la commande (voyez la page de manuel de [[:tcl:filename]] pour les détails). Option indique que faire avec le nom de fichier. N'importe quelle abréviation unique pour option est acceptable. Les options valides sont: +Cette commande fournit plusieurs opérations sur un nom ou des attributs de fichier. Name est le nom d'un fichier; s'il commence avec un tilde, alors la substitution tilde est faite avant l'exécution de la commande (voyez la page de manuel de [[:faq:filename]] pour les détails). Option indique que faire avec le nom de fichier. N'importe quelle abréviation unique pour option est acceptable. Les options valides sont: 
-  * **file atime //name// ?time?** Renvoie une chaîne décimale donnant la date du dernier accès au fichier name. Si time est spécifié, c'est pour fixer la date d'accès au fichier. Le temps est mesuré de la façon POSIX standard comme nombre de secondes depuis une date fixe (souvent January 1, 1970). Si le fichier n'existe pas ou que sa date d'accès ne peut être trouvée ou fixée alors une erreur est générée. Sous Windows, le système de fichiers FAT ne supporte pas la date d'accès (POSIX). +==== atime ==== 
-  * **file attributes //name//** +<code tcl>file atime name ?time?</code> 
-  * **file attributes //name// ?[2clock]?** +Renvoie une chaîne décimale donnant la date du dernier accès au fichier name. Si time est spécifié, c'est pour fixer la date d'accès au fichier. Le temps est mesuré de la façon POSIX standard comme nombre de secondes depuis une date fixe (souvent January 1, 1970). Si le fichier n'existe pas ou que sa date d'accès ne peut être trouvée ou fixée alors une erreur est générée. Sous Windows, le système de fichiers FAT ne supporte pas la date d'accès (POSIX). 
-  * **file attributes //name// ?option value option value...?** +==== attributes ==== 
-Cette sous commande retourne ou fixe les valeurs spécifiques à la plate-forme associées à un fichier. La première forme retourne une liste de flags spécifiques à la plate-forme et leurs valeurs. La seconde forme retourne la valeur de l'option spécifique. Le troisième forme fixe une ou plusieurs des valeurs. La valeurs sont les suivantes: +<code tcl>file attributes name 
-    Sous Unix +file attributes name ?[2clock]? 
-        * -group lit ou fixe le nom de groupe pour le fichier. Un group id peut être donné à la commande, mais elle retourne un nom de groupe. +file attributes name ?option value option value...?</code> 
-        * -owner gets ou fixe le nom de l'utilisateur propriétaire du fichier. La commande retourne le nom du propriétaire, mais l'id numérique peut être transmise quand on fixe le propriétaire. +Cette sous commande retourne ou fixe les valeurs spécifiques à la plate-forme associées à un fichier. La première forme retourne une liste de flags spécifiques à la plate-forme et leurs valeurs. 
-        * -permissions fixe ou lit le code octal que chmod(1) utilise. Cette commande a aussi un support limité pour fixer en utilisant les attributs symboliques pour chmod(1), de la forme <nowiki>[ugo]?[[+-=][rwxst],[...]]</nowiki>, ou les attributs symboliques multiples peuvent être séparés par des virgules (exemple: u+s,go-rw ajoute sticky bit pour l'utilisateur, et enlève les permissions lecture et écriture pour le groupe et le reste du monde). Un style chaîne simplifié ls, de la forme rwxrwxrwx (doit être 9 caractères), est aussi supporté (exemple : rwxr-xr-t est équivalent à 01755). + 
-    Sous Windows +La seconde forme retourne la valeur de l'option spécifique. 
-        * -archive donne la valeur ou bien fixe ou efface l'attribut archive du fichier. + 
-        * -hidden donne la valeur ou bien fixe ou efface l'attribut caché du fichier. +La troisième forme fixe une ou plusieurs des valeurs. La valeurs sont les suivantes: 
-        * -longname développe chaque élément de chemin en sa version longue. Cet attribut ne peut pas être fixé. +=== Sous Unix === 
-        * -readonly donne la valeur ou bien fixe ou efface l'attribut lecture seule du fichier. +  * **-group** lit ou fixe le nom de groupe pour le fichier. Un group id peut être donné à la commande, mais elle retourne un nom de groupe. 
-        * -shortname donne une chaîne ou tout élément de chemin est remplacé avec sa version courte (8.3). Cet attribut ne peut pas être fixé. +  * **-owner** lit ou fixe le nom de l'utilisateur propriétaire du fichier. La commande retourne le nom du propriétaire, mais l'id numérique peut être transmise quand on fixe le propriétaire. 
-        * -system donne ou bien fixe ou efface la valeur de l'attribut système du fichier. +  * **-permissions** fixe ou lit le code octal que chmod(1) utilise. Cette commande a aussi un support limité pour fixer en utilisant les attributs symboliques pour chmod(1), de la forme <nowiki>[ugo]?[[+-=][rwxst],[...]]</nowiki>, ou les attributs symboliques multiples peuvent être séparés par des virgules (exemple: u+s,go-rw ajoute sticky bit pour l'utilisateur, et enlève les permissions lecture et écriture pour le groupe et le reste du monde). Un style chaîne simplifié ls, de la forme rwxrwxrwx (doit être 9 caractères), est aussi supporté (exemple : rwxr-xr-t est équivalent à 01755). 
-    Sous Macintosh +=== Sous Windows === 
-        * -creator donne ou fixe le type Finder créateur du fichier. +  * **-archive** donne la valeur ou bien fixe ou efface l'attribut archive du fichier. 
-        * -hidden donne ou bien fixe ou efface l'attribut caché du fichier. +  * **-hidden** donne la valeur ou bien fixe ou efface l'attribut caché du fichier. 
-        * -readonly donne ou bien fixe ou efface l'attribut lecture seule du fichier. Notez que les répertoires peuvent seulement être vérouillés si File Sharing est activé. +  * **-longname** développe chaque élément de chemin en sa version longue. Cet attribut ne peut pas être fixé. 
-        * -type donne ou fixe le type Finder du fichier. +  * **-readonly** donne la valeur ou bien fixe ou efface l'attribut lecture seule du fichier. 
-  * **file channels ?pattern?** Si pattern n'est pas spécifié, retourne une liste de noms de tous les canaux déclarés ouverts dans cet interpréteur. Si pattern est spécifié, seulement les noms correspondants à pattern sont renvoyés. La correspondance est déterminée en utilisant les mêmes règles que pour string match. +  * **-shortname** donne une chaîne ou tout élément de chemin est remplacé avec sa version courte (8.3). Cet attribut ne peut pas être fixé. 
-  * **file copy ?-force? ?--? source target** +  * **-system** donnefixe ou efface la valeur de l'attribut système du fichier. 
-  * **file copy?-force? ?--? source ?source ...? targetDir** La première forme fait une copie du fichier ou répertoire source sous le nom de chemin target. Si target est un répertoire existant, alors la seconde forme est utilisée. La seconde forme fait une copie dans targetDir de chaque fichier source listé. Si un répertoire est spécifié comme source, alors le contenu du répertoire sera récursivement copié dans targetDir. Les fichiers existants ne seront pas écrasés à moins que l'option -force soit spécifiée. Essayer d'écraser un répertoire non-vide, écraser un répertoire avec un fichier, ou un fichier avec un répertoire donnera des erreurs même si -force a été spécifié. Les arguments sont traités dans l'ordre spécifié, s’arrêtant à la première erreur, si elle existe. Un -- marque la fin des commutateurs; l'argument suivant le -- sera traité comme un source même s'il commence avec un -. +=== Sous Macintosh === 
-  * **file delete ?-force? ?--? pathname ?pathname ... ?** Efface le fichier ou répertoire spécifié par chaque argument pathname. Les répertoires non-vide seront enlevés seulement si l'option -force est spécifiée. Essayer d'effacer un fichier non-existant n'est pas considéré comme une erreur. Essayer d'effacer un fichier lecture-seule provoquera l'effacement du fichier, même si le -force flags n'est pas spécifié. Les arguments sont traité dans l'ordre spécifié, s’arrêtant à la première erreur, si elle existe. Un -- marque la fin des commutateurs; l'argument suivant le -- sera traité comme un pathname même s'il commence avec un -. +  * **-creator** donne ou fixe le type Finder créateur du fichier. 
-  * **file dirname name** Renvoie un nom comportant tout les composants de chemin de name excluant le dernier élément. Si name est un nom de fichier relatif et contient seulement un élément de chemin, alors retourne "." (ou ":" sur le Macintosh). Si name se réfère à un répertoire racine, alors le répertoire racine est renvoyé. Par exemple, file dirname c:/ retourne c:/. Notez que la substitution tilde sera effectuée seulement si c'est nécessaire pour que la commande aboutisse. Par exemple, file dirname ~/src/foo.c retourne ~/src, alors que file dirname ~ retourne /home (ou quelque chose de similaire). +  * **-hidden** donne ou bien fixe ou efface l'attribut caché du fichier. 
-  * **file exécutable name** Renvoie 1 si le fichier name est exécutable par l'utilisateur courant, 0 autrement. +  * **-readonly** donne ou bien fixe ou efface l'attribut lecture seule du fichier. Notez que les répertoires peuvent seulement être vérouillés si File Sharing est activé. 
-  * **file exists name** Renvoie 1 si fichier name existe et que l'utilisateur courant a les privilèges de recherche pour les répertoires y menant, 0 autrement. +  * **-type** donne ou fixe le type Finder du fichier. 
-  * **file extension name** Renvoie tous caractères de name après et incluant le dernier point dans le dernier élément de name. S'il n'y a pas point dans le dernier élément de name alors retourne la chaîne vide. + 
-  * **file isdirectory name** Renvoie 1 si le fichier name est un répertoire, 0 autrement. +==== channels ==== 
-  * **file isfile name** Renvoie 1 si le fichier name est un fichier ordinaire, 0 autrement. +<code tcl>file channels ?pattern?</code> 
-  * **file join name ?name ...?** Prend un ou plusieurs noms de fichiers et les combine, en utilisant le séparateur de chemin correct pour la plate-forme courante. Si un name particulier est relatif, alors il sera joint au précédent argument nom de fichier. Autrement, tout argument précédent sera écarté, et la jointure commencera à l'argument courant. Par exemple, file join a b /foo bar retourne /foo/bar. Notez que n'importe quel des noms peut contenir des séparateurs, et que le résultat est toujours canonique pour la plate-forme courante : / pour Unix et Windows, et : pour Macintosh. +Si pattern n'est pas spécifié, retourne une liste de noms de tous les canaux déclarés ouverts dans cet interpréteur. Si pattern est spécifié, seulement les noms correspondants à pattern sont renvoyés. La correspondance est déterminée en utilisant les mêmes règles que pour string match. 
-  * **file lstat name varName** Identique à l'option stat (voir ci-dessous) excepté qu'elle utilise l' appel kernel lstat au lieu de stat. Ceci signifie que si name se réfère à un lien symbolique l'information renvoyée dans varName concerne le lien plutôt que le fichier auquel il se réfère. Sur les systèmes qui ne supportent pas les lien symboliques cette option se comporte exactement comme l'option stat. +==== copy ==== 
-  * **file mkdir dir ?dir ...?** +<code tcl>file copy ?-force? ?--? source target 
-  * **file mtime name ?time?** Renvoie une chaîne décimale donnant le temps auquel fichier name a été modifié pour la dernière fois. Si time est spécifié, c'est une pour fixer le temps pour le fichier (équivalent à touch sous Unix). Le temps est mesuré de la façon standard POSIX en tant que secondes depuis une date fixe (souvent 1 Janvier 1970). Si le fichier n'existe pas ou la date de modification ne peut être trouvée ou réglée, une erreur est générée. +file copy?-force? ?--? source ?source ...? targetDir</code> 
-  * **file nativename name** Renvoie le nom du fichier spécifique à la plate-forme. Ceci est utile si le nom de fichier est nécessaire à transmettre à un appel spécifique à la plate-forme, tel que exec sous Windows ou AppleScript sur Macintosh. +La première forme fait une copie du fichier ou répertoire source sous le nom de chemin target. Si target est un répertoire existant, alors la seconde forme est utilisée. La seconde forme fait une copie dans targetDir de chaque fichier source listé. Si un répertoire est spécifié comme source, alors le contenu du répertoire sera récursivement copié dans targetDir. Les fichiers existants ne seront pas écrasés à moins que l'option -force soit spécifiée. Essayer d'écraser un répertoire non-vide, écraser un répertoire avec un fichier, ou un fichier avec un répertoire donnera des erreurs même si -force a été spécifié. Les arguments sont traités dans l'ordre spécifié, s’arrêtant à la première erreur, si elle existe. Un -- marque la fin des commutateurs; l'argument suivant le -- sera traité comme un source même s'il commence avec un -. 
-  * **file owned name** Renvoie 1 si fichier name appartient à l'utilisateur courant, 0 autrement. +==== delete ==== 
-  * **file pathtype name** Renvoie un de absolute, relative, ou volumerelative. Si name se réfère à un fichier spécifique sur un volume spécifique , le chemin type sera absolute. Si name se réfère à un fichier relatif au répertoire de travail courant, alors le type du chemin sera relative. Si name se réfère à un fichier relatif au répertoire de travail courant sur un volume spécifié, ou à un fichier spécifique sur le volume de travail courant, alors le type fichier est volumerelative. +<code tcl>file delete ?-force? ?--? pathname ?pathname ... ?</code> 
-  * **file readable name** Renvoie 1 si le fichier name est lisible par l'utilisateur courant, 0 autrement. +Efface le fichier ou répertoire spécifié par chaque argument pathname. Les répertoires non-vide seront enlevés seulement si l'option -force est spécifiée. Essayer d'effacer un fichier non-existant n'est pas considéré comme une erreur. Essayer d'effacer un fichier lecture-seule provoquera l'effacement du fichier, même si le -force flags n'est pas spécifié. Les arguments sont traité dans l'ordre spécifié, s’arrêtant à la première erreur, si elle existe. Un -- marque la fin des commutateurs; l'argument suivant le -- sera traité comme un pathname même s'il commence avec un -. 
-  * **file readlink name** Renvoie la valeur du lien symbolique désigné par name (ex. le nom du fichier vers lequel il pointe). Si name n'est pas un lien symbolique ou que sa valeur ne peut pas être lue, alors une erreur est générée. Sur les systèmes qui ne supportent pas les liens symboliques cette option est indéfinie. +==== dirname ==== 
-  * **file rename?-force? ?--? source target** +<code tcl>file dirname name</code> 
-  * **file rename?-force? ?--? source ?source ...? targetDir** La première forme prend le fichier ou le répertoire spécifié par le nom de chemin source et le renomme en target, en déplaçant le fichier si le nom de chemin target spécifie un nom dans un répertoire différent. Si target est un répertoire existant, alors la seconde forme est utilisée. La seconde forme déplace chaque fichier ou répertoire source dans le répertoire targetDir. Les fichiers existants ne seront pas écrasés à moins que l'option -force soit spécifiée. Essayer d'écraser un répertoire non-vide, écraser un répertoire avec un fichier, ou un fichier avec un répertoire générera des erreurs. Les arguments sont traités dans l'ordre spécifié, s'arrêtant à la première erreur, si elle existe. Un -- marque la fin des commutateurs; l'argument suivant le -- sera traité comme une source même s'il commence avec un -. +Renvoie un nom comportant tout les composants de chemin de name excluant le dernier élément. Si name est un nom de fichier relatif et contient seulement un élément de chemin, alors retourne "." (ou ":" sur le Macintosh). Si name se réfère à un répertoire racine, alors le répertoire racine est renvoyé. Par exemple, file dirname c:/ retourne c:/. Notez que la substitution tilde sera effectuée seulement si c'est nécessaire pour que la commande aboutisse. Par exemple, file dirname ~/src/foo.c retourne ~/src, alors que file dirname ~ retourne /home (ou quelque chose de similaire). 
-  * **file rootname name** Renvoie tous les caractères dans name jusqu’à mais non inclus le dernier caractère "." dans le dernier composant du nom. Si le dernier composant de name ne contient pas de point, alors retourne name. +==== executable ==== 
-  * **file size name** Renvoie une chaîne décimale donnant la taille du fichier name en octets. Si le fichier n'existe pas ou si sa taille ne peut pas être obtenue alors une erreur est générée. +<code tcl>file executable name</code> 
-  * **file split name** Renvoie une liste dont les éléments sont les composants de chemin in name. Le premier élément de la liste aura le même type chemin que name. Tous les autres éléments seront relatifs. Les séparateurs de chemin seront écartés à moins que ils soit nécessaires pour s'assurer qu'un élément est relatif sans ambiguïté. Par exemple, sous Unix file split /foo/~bar/baz retourne / foo ./~bar baz pour s'assurer que les commandes suivantes qui utiliseront le troisième composant ne tentent pas d'effectuer une substitution de tilde. +Renvoie 1 si le fichier name est exécutable par l'utilisateur courant, 0 autrement. 
-  * **file stat name varName** Déclenche l'appel kernel stat sur name, et utilise la variable désignée par varName pour recevoir information renvoyée par l'appel kernel. VarName est traité comme une variable tableau, et les éléments suivants de cette variable sont fixes: atime, ctime, dev, gid, ino, mode, mtime, nlink, size, type, uid. Chaque élément excepté type est une chaîne décimale avec la valeur du champ correspondant de la stat structure de retour; voyez la page de manuel de stat pour des détails sur le sens des valeurs. L'élément type donne le type du fichier sous la même forme que celle renvoyée par la commande file type. Cette commande retourne une chaîne vide. +==== exists ==== 
-  * **file tail name** Renvoie tous les caractères dans name après le dernier séparateur de répertoire. Si name ne contient pas de séparateurs alors retourne name. +<code tcl>file exists name</code> 
-  * **file type name** Renvoie une chaîne donnant le type de fichier name, qui sera l'un de file, directory, characterSpecial, blockSpecial, fifo, link, ou socket. +Renvoie 1 si fichier name existe et que l'utilisateur courant a les privilèges de recherche pour les répertoires y menant, 0 autrement. 
-  * **file volume** Renvoie le chemin absolu des volumes montés sur le système, comme liste Tcl correcte. Sur Macintosh, ce sera une liste des lecteurs montés, locaux ou réseaux. N.B. si deux lecteurs ont le même nom, ils apparaîtront tous deux sur la liste de volumes, mais il n'y a pas de façon, avec Tcl, d’accéder à un autre que le premier de ces lecteurs. Sous UNIX, la commande retournera toujours "/", car tous les systèmes de fichier sont montés localement. Sous Windows, elle renverra une liste des lecteurs locaux disponibles (ex. {a:/ c:/}). +==== extension ==== 
-  * **file writable name** Renvoie 1 si le fichier name est inscriptible par l'utilisateur courant , 0 autrement.+<code tcl>file extension name</code> 
 +Renvoie tous caractères de name après et incluant le dernier point dans le dernier élément de name. S'il n'y a pas point dans le dernier élément de name alors retourne la chaîne vide. 
 +==== isdirectory ==== 
 +<code tcl>file isdirectory name</code> 
 +Renvoie 1 si le fichier name est un répertoire, 0 autrement. 
 +==== isfile ==== 
 +<code tcl>file isfile name</code> 
 +Renvoie 1 si le fichier name est un fichier ordinaire, 0 autrement. 
 +==== join ==== 
 +<code tcl>file join name ?name ...?</code> 
 +Prend un ou plusieurs noms de fichiers et les combine, en utilisant le séparateur de chemin correct pour la plate-forme courante. Si un name particulier est relatif, alors il sera joint au précédent argument nom de fichier. Autrement, tout argument précédent sera écarté, et la jointure commencera à l'argument courant. Par exemple, file join a b /foo bar retourne /foo/bar. Notez que n'importe quel des noms peut contenir des séparateurs, et que le résultat est toujours canonique pour la plate-forme courante : / pour Unix et Windows, et : pour Macintosh. 
 +==== lstat ==== 
 +<code tcl>file lstat name varName</code> 
 +Identique à l'option stat (voir ci-dessous) excepté qu'elle utilise l' appel kernel lstat au lieu de stat. Ceci signifie que si name se réfère à un lien symbolique l'information renvoyée dans varName concerne le lien plutôt que le fichier auquel il se réfère. Sur les systèmes qui ne supportent pas les lien symboliques cette option se comporte exactement comme l'option stat. 
 +==== mkdir ==== 
 +<code tcl>file mkdir dir ?dir ...? 
 +file mtime name ?time?</code> 
 +Renvoie une chaîne décimale donnant le temps auquel fichier name a été modifié pour la dernière fois. Si time est spécifié, c'est une pour fixer le temps pour le fichier (équivalent à touch sous Unix). Le temps est mesuré de la façon standard POSIX en tant que secondes depuis une date fixe (souvent 1 Janvier 1970). Si le fichier n'existe pas ou la date de modification ne peut être trouvée ou réglée, une erreur est générée. 
 +==== nativename ==== 
 +<code tcl>file nativename name</code> 
 +Renvoie le nom du fichier spécifique à la plate-forme. Ceci est utile si le nom de fichier est nécessaire à transmettre à un appel spécifique à la plate-forme, tel que exec sous Windows ou AppleScript sur Macintosh. 
 +==== owned ==== 
 +<code tcl>file owned name</code> 
 +Renvoie 1 si fichier name appartient à l'utilisateur courant, 0 autrement. 
 +==== pathtype ==== 
 +<code tcl>file pathtype name</code> 
 +Renvoie un de absolute, relative, ou volumerelative. Si name se réfère à un fichier spécifique sur un volume spécifique , le chemin type sera absolute. Si name se réfère à un fichier relatif au répertoire de travail courant, alors le type du chemin sera relative. Si name se réfère à un fichier relatif au répertoire de travail courant sur un volume spécifié, ou à un fichier spécifique sur le volume de travail courant, alors le type fichier est volumerelative. 
 +==== readable ==== 
 +<code tcl>file readable name</code> 
 +Renvoie 1 si le fichier name est lisible par l'utilisateur courant, 0 autrement. 
 +==== readlink ==== 
 +<code tcl>file readlink name</code> 
 +Renvoie la valeur du lien symbolique désigné par name (ex. le nom du fichier vers lequel il pointe). Si name n'est pas un lien symbolique ou que sa valeur ne peut pas être lue, alors une erreur est générée. Sur les systèmes qui ne supportent pas les liens symboliques cette option est indéfinie. 
 +==== rename ==== 
 +<code tcl>file rename?-force? ?--? source target 
 +file rename?-force? ?--? source ?source ...? targetDir</code> 
 +La première forme prend le fichier ou le répertoire spécifié par le nom de chemin source et le renomme en target, en déplaçant le fichier si le nom de chemin target spécifie un nom dans un répertoire différent. Si target est un répertoire existant, alors la seconde forme est utilisée. La seconde forme déplace chaque fichier ou répertoire source dans le répertoire targetDir. Les fichiers existants ne seront pas écrasés à moins que l'option -force soit spécifiée. Essayer d'écraser un répertoire non-vide, écraser un répertoire avec un fichier, ou un fichier avec un répertoire générera des erreurs. Les arguments sont traités dans l'ordre spécifié, s'arrêtant à la première erreur, si elle existe. Un -- marque la fin des commutateurs; l'argument suivant le -- sera traité comme une source même s'il commence avec un -. 
 +==== rootname ==== 
 +<code tcl>file rootname name</code> 
 +Renvoie tous les caractères dans name jusqu’à mais non inclus le dernier caractère "." dans le dernier composant du nom. Si le dernier composant de name ne contient pas de point, alors retourne name. 
 +==== size ==== 
 +<code tcl>file size name</code> 
 +Renvoie une chaîne décimale donnant la taille du fichier name en octets. Si le fichier n'existe pas ou si sa taille ne peut pas être obtenue alors une erreur est générée. 
 +==== split ==== 
 +<code tcl>file split name</code> 
 +Renvoie une liste dont les éléments sont les composants de chemin in name. Le premier élément de la liste aura le même type chemin que name. Tous les autres éléments seront relatifs. Les séparateurs de chemin seront écartés à moins que ils soit nécessaires pour s'assurer qu'un élément est relatif sans ambiguïté. Par exemple, sous Unix file split /foo/~bar/baz retourne / foo ./~bar baz pour s'assurer que les commandes suivantes qui utiliseront le troisième composant ne tentent pas d'effectuer une substitution de tilde. 
 +==== stat ==== 
 +<code tcl>file stat name varName</code> 
 +Déclenche l'appel kernel stat sur name, et utilise la variable désignée par varName pour recevoir information renvoyée par l'appel kernel. VarName est traité comme une variable tableau, et les éléments suivants de cette variable sont fixes: atime, ctime, dev, gid, ino, mode, mtime, nlink, size, type, uid. Chaque élément excepté type est une chaîne décimale avec la valeur du champ correspondant de la stat structure de retour; voyez la page de manuel de stat pour des détails sur le sens des valeurs. L'élément type donne le type du fichier sous la même forme que celle renvoyée par la commande file type. Cette commande retourne une chaîne vide. 
 +==== tail ==== 
 +<code tcl>file tail name</code> 
 +Renvoie tous les caractères dans name après le dernier séparateur de répertoire. Si name ne contient pas de séparateurs alors retourne name. 
 +==== type ==== 
 +<code tcl>file type name</code> 
 +Renvoie une chaîne donnant le type de fichier name, qui sera l'un de file, directory, characterSpecial, blockSpecial, fifo, link, ou socket. 
 +==== volume ==== 
 +<code tcl>file volume</code> 
 +Renvoie le chemin absolu des volumes montés sur le système, comme liste Tcl correcte. Sur Macintosh, ce sera une liste des lecteurs montés, locaux ou réseaux. N.B. si deux lecteurs ont le même nom, ils apparaîtront tous deux sur la liste de volumes, mais il n'y a pas de façon, avec Tcl, d’accéder à un autre que le premier de ces lecteurs. Sous UNIX, la commande retournera toujours "/", car tous les systèmes de fichier sont montés localement. Sous Windows, elle renverra une liste des lecteurs locaux disponibles (ex. {a:/ c:/}). 
 +==== writable ==== 
 +<code tcl>file writable name</code> 
 +Renvoie 1 si le fichier name est inscriptible par l'utilisateur courant, 0 autrement.
  
 ===== Exemples ===== ===== Exemples =====
Ligne 60: Ligne 120:
 ===== Voir aussi ===== ===== Voir aussi =====
  
-{{tag>tcl}}+{{tag>tcl Fichiers}}
  
tcl/file.1697030155.txt.gz · Dernière modification : 2023/10/11 13:15 de CrazyCat