Au lieu de fichiers, il y a des « hiéroglyphes » (symboles inintelligibles) sur la clé USB. Nom de fichier

L'article a été écrit pour le magazine Hacker en 2004. Il est sorti dans le numéro 02/04 (62).

À l'époque du système d'exploitation MS-DOS et du système de fichiers FAT16, il existait de sérieuses restrictions concernant les noms de fichiers. Ainsi, la longueur maximale d'un nom de fichier était de 8 caractères et l'extension de 3 caractères. Avec l'avènement de Windows 95, la longueur maximale du nom de fichier est passée à 255 caractères, et désormais nous n'avons souvent plus besoin de deviner ce qui est caché dans un fichier appelé MIAF9D~1.ZIP. Dans les nouveaux systèmes de fichiers FAT32 et NTFS, d'autres restrictions moins visibles sont restées depuis lors qui peuvent être contournées et utilisées à vos propres fins.

Caractères interdits

Les règles concernant les noms de fichiers sont contenues dans ce que l'on appelle les conventions de noms de fichiers. Ce document décrit quels caractères peuvent être utilisés dans les noms de fichiers, quels caractères sont des séparateurs de chemin, la longueur maximale du chemin, etc. Les limites sont également précisées ici. Par exemple, les caractères « \ », « / », « ? », « | », « * », «<”, “>" et " : " ont une signification particulière dans Windows lors de l'exécution d'opérations sur les fichiers, en particulier à partir de la ligne de commande, et ne peuvent donc pas être utilisés dans le nom d'un fichier individuel. Cette limitation, apparemment, ne peut être contournée, car lors de l'accès aux fonctions du système pour travailler avec des fichiers, Windows les distingue complètement des autres caractères et les interprète à sa manière. Ici, vous devez faire attention à l'utilisation spécifique des caractères point ".", deux-points ":" et espace. Un caractère espace peut apparaître dans un nom de fichier ou de répertoire, un point est utilisé pour séparer le nom de fichier de son extension et deux points sont utilisés pour séparer la lettre de lecteur du reste du chemin. L'utilisation de deux points n'est autorisée nulle part sauf après une lettre de lecteur, à l'exception du système de fichiers NTFS, où les deux points sont également utilisés comme séparateur entre le nom de fichier normal et ses flux de fichiers joints. Le point et l'espace peuvent apparaître n'importe où dans le nom du fichier, mais ne peuvent pas être des caractères de fin. Cette étrange limitation, à première vue, existe, comme l'explique Microsoft, dans un souci de compatibilité des nouveaux systèmes de fichiers avec les anciens, comme HPFS, utilisé dans OS/2 et FAT16. Je pense que cette limitation est en partie due à deux objets fichiers virtuels (appelés « points ») qui existent dans tous les systèmes de fichiers utilisés sous Windows. Lorsque vous travaillez avec des gestionnaires de fichiers comme TotalCMD, pour accéder au dossier précédent, vous devez cliquer sur le répertoire appelé « .. ». Dans les systèmes de fichiers, cela désigne le répertoire parent par rapport au chemin actuel, et le dossier actuel est noté ".". À proprement parler, ces objets ne sont pas de vrais fichiers ou répertoires. Ce sont simplement des objets abstraits traditionnellement utilisés pour naviguer entre les dossiers. Dans l'Explorateur Windows, ils ne sont pas affichés du tout. Puisque l'utilisateur peut créer des fichiers dont le nom commence par un point (mais pas dans l'Explorateur Windows), Microsoft a bloqué la possibilité de mettre des points à la fin du nom afin qu'il soit impossible de créer un fichier « .. ». Je ne comprends pas pourquoi les softies ne se contentent pas des espaces à la fin du nom.

Noms des périphériques DOS

Chaque système Windows possède une émulation MS-DOS, et ce fait impose également ses limites. Lorsque vous travaillez sur la ligne de commande, des alias sont utilisés pour les appareils, avec lesquels travailler n'est pas différent de travailler avec des fichiers normaux. Les noms de fichiers suivants sont réservés aux appareils : AUX, CON, NUL, PRN, COM1-COM9 et LPT1-LPT9. L'exemple le plus simple de travail avec ces objets : si vous entrez « dir > prn | sort", la liste triée des fichiers et répertoires du dossier actuel commencera à être imprimée à partir de l'imprimante. Ici, « prn » signifie imprimante. Il est clair que s'il était possible de nommer des fichiers avec des noms de périphériques réservés, il y aurait confusion, cette option est donc bloquée.

Façons de contourner les restrictions

Je connais trois façons de contourner les restrictions décrites. Le principe général de leur fonctionnement est le suivant : le nom du fichier est composé d'une certaine manière, après quoi il est transféré vers une fonction système permettant de travailler avec des fichiers. En conséquence, l'algorithme de vérification de l'exactitude du paramètre ne fonctionne pas et nous obtenons le résultat souhaité - un fichier ou un répertoire avec un nom incorrect du point de vue du système. Je décrirai plus tard les opportunités que cela ouvre. Pour l'instant, parlons des méthodes elles-mêmes. Certaines méthodes peuvent être utilisées non seulement par programmation, mais également au niveau utilisateur. Première méthode : utilisation de chemins UNC. C’est, à mon avis, le moyen le plus simple et le plus pratique. Regardons cela en utilisant l'exemple de création d'un fichier avec un point à la fin du nom. Lors de sa création, nous utiliserons des fonctions standard pour travailler avec des fichiers, mais en même temps nous indiquerons le chemin complet de l'objet et ajouterons quatre caractères "\\?\" ou "\\.\" au début de le chemin. Cela ressemblera à ceci : "\\?\f:\test\prn". Ensuite, nous travaillons avec le fichier comme d'habitude, c'est-à-dire que nous pouvons y écrire, le lire, le copier, le supprimer et faire tout le reste en utilisant les fonctions normales. N'oubliez pas que partout où un nom de fichier est requis, vous devez spécifier le chemin complet avec un préfixe UNC.

Les tests ont montré que l'utilisation du préfixe "\\?\" est plus fiable que "\\.\". Si vous utilisez le deuxième préfixe, par exemple, vous risquez d'échouer lorsque vous essayez de supprimer un fichier. Cette méthode est également intéressante car elle fonctionne en ligne de commande. En effet, il est possible de manipuler des fichiers directement depuis la ligne de commande, sans recourir à aucun langage de programmation. La commande "type \\?\f:\test\prn" tapée sur la ligne de commande affichera le contenu du fichier créé. Pour un exemple de création d'un fichier et d'écriture d'informations dans celui-ci, voir le listing 1. Deuxième méthode : substitution de caractères<.>. C'est également une méthode assez pratique qui vous permet de travailler avec des fichiers/dossiers en utilisant n'importe quel moyen conventionnel, puis de simplement changer le nom du fichier en quelque chose d'autre qui est incorrect. Cette méthode est implémentée comme ceci : Si, lors de l'utilisation des fonctions MoveFile, CopyFile, MkDir, RmDir et quelques autres, nous remplaçons deux caractères « .\ » à la fin du nouveau nom de fichier ou de répertoire, alors le fichier sera créé avec n'importe quel nom dont nous avons besoin.

Cette méthode peut également être utilisée en ligne de commande, mais uniquement avec des répertoires. Si vous tapez une ligne dedans, un répertoire apparaîtra dont le nom sera<.strange.>. Lorsque vous utilisez cette méthode dans vos programmes, avant de passer un paramètre contenant le chemin d'un nouveau fichier ou dossier, vous devez ajouter ces deux caractères à la fin de celui-ci. Lorsque vous utilisez cette méthode avec les fonctions CopyFile et MoveFile, deux caractères sont ajoutés au deuxième paramètre de la fonction. L'utilisation de la méthode dans le programme est illustrée dans le listing 2. Troisième méthode : utilisation de flux de fichiers. La méthode la moins pratique, car elle ne convient que pour créer des fichiers et ne fonctionne que sur les systèmes NT avec NTFS. Mais, par souci d'exhaustivité, je devais également le mentionner. Le but de cette méthode est que nous créons un fichier auquel est attaché un flux, en utilisant la syntaxe adoptée lorsque nous travaillons avec des flux de fichiers. Selon Q115827 de la Base de connaissances Microsoft, la fonction CreateFile vérifie le dernier caractère du paramètre qui lui est transmis qui contient le chemin du fichier et supprime ce caractère s'il s'agit d'un espace ou d'un point. Dans ce cas, le dernier caractère de ce paramètre est le dernier caractère non pas du nom du fichier en cours de création, mais du nom du flux. C'est l'astuce : avec cette approche, nous pouvons définir n'importe quel nom de fichier, y compris celui réservé à un périphérique DOS, et le système ne le remarquera pas. Regardez le listing 3. Pour changer, créons un fichier dont le nom se termine par un espace. Le fichier créé contiendra un flux de fichiers joints, dont nous n'avions en principe pas besoin, car notre objectif était d'obtenir un fichier avec un nom réservé. Les inconvénients de cette méthode sont qu'avant de l'utiliser dans le programme, vous devez vérifier quel système de fichiers est utilisé sur un disque particulier.

Qu'est-ce que j'y gagne ?

Créez un fichier ou un répertoire avec un nom incorrect en utilisant l'une des méthodes décrites ci-dessus. Essayez maintenant d’en faire ce que vous faites quotidiennement avec d’autres fichiers et répertoires. Essayez de copier le fichier, de le déplacer, de le renommer, de l'ouvrir avec n'importe quel programme et enfin de le supprimer.

Eh bien, est-ce que quelque chose s'est bien passé ? C'est peu probable, car lorsque vous essayez d'accéder à un fichier, le système utilise les mêmes fonctions que nous, mais contrairement à nous, le système ne connaît pas nos méthodes délicates et il s'avère donc que le système se bloque lui-même. Eh bien, pouvez-vous deviner quelles opportunités cela offre ? La première chose qui vient à l’esprit est de bloquer l’accès aux informations classifiées. Bien sûr, ce n'est pas aussi fiable que le cryptage, mais cela vous empêche de crypter n'importe quel fichier et, bien sûr, d'en bloquer également l'accès en spécifiant un nom incorrect. De plus, peu de personnes pourront copier un tel fichier afin de deviner le mot de passe plus tard dans un environnement calme. Il est possible de masquer complètement le fichier afin qu'il ne soit pas visible. La méthode ne fonctionne qu'avec les systèmes de fichiers FAT\FAT32. Si vous renommez un fichier existant contenant des informations en lui donnant le nom<..>, le fichier n'est plus visible dans l'Explorateur. Par conséquent, trouver un fichier invisible sera assez difficile. Le fichier n'est visible qu'à partir de la ligne de commande ou dans les gestionnaires de fichiers. Cependant, si un fichier est créé dans le répertoire racine du disque, les gestionnaires de fichiers ne le voient pas non plus. Autre astuce possible : un dossier du même nom est créé, et également invisible. Le fait est que dans ce dossier, en utilisant la méthode n°1, vous pouvez créer des fichiers ! Vous pouvez enregistrer n'importe quel fichier dans ce dossier et pour y accéder, vous devez au moins connaître leurs noms. Il est impossible d'obtenir une liste des fichiers de ce dossier à l'aide des outils Windows, et la protection qui en résulte n'est pas pire qu'une archive avec mot de passe !

Une autre utilisation possible est la construction occidentale. Rien ne nous empêche de créer un certain nombre de fichiers sur l'ordinateur du lamer, chacun d'une taille de 4 Go (si le lamer a FAT32), ou un gros fichier de n'importe quelle taille (si NTFS), et de les renommer, par exemple, en noms DOS. appareils. Ou vous pouvez les rendre invisibles. Dans tous les cas, ces fichiers sont supprimés de manière non évidente et la plupart des gens devront donc probablement formater la vis et réinstaller le système (si la vis ne contient qu'une seule partition). À propos, scandisk et d'autres utilitaires similaires, pour une raison quelconque, ne voient rien d'étrange dans les fichiers portant de tels noms. Probablement chaque programmeur a essayé d'écrire un virus ou un cheval de Troie au moins une fois dans sa vie. Naturellement, pour qu'un virus soit un vrai virus, vous devez le réparer fermement dans le système et également prendre des mesures pour vous assurer qu'il ne soit pas détecté par l'antivirus le plus longtemps possible. J'ai essayé d'utiliser des noms de fichiers incorrects à cet effet. J'ai créé un nouveau dossier sur la vis et y ai placé un fichier contenant le virus de test EICAR. Ce virus ne cause aucun dommage et a été créé spécifiquement pour tester les antivirus. J'ai ensuite analysé le dossier à l'aide de Norton Antivirus. NAV a correctement identifié le virus et a suggéré de le mettre en quarantaine. J'ai abandonné et j'ai fait ceci : j'ai renommé le fichier en<..>et scanné à nouveau le dossier. Cette fois, NAV a montré que le répertoire était propre. Ensuite, j'ai fait la même chose, mais sur un volume NTFS et j'ai renommé le virus. Les résultats étaient similaires. Cette expérience simple a montré que la méthode peut également être utilisée dans le domaine de la création de virus. Lors de mes recherches sur ce sujet, je me suis écrit un petit programme qui me permet de créer et de supprimer rapidement des fichiers et des répertoires portant des noms incorrects. Spécialement pour cela, j'ai écrit un module dans Delphi, dans lequel j'ai implémenté les fonctions les plus fréquemment utilisées pour travailler avec des fichiers, en les adaptant pour fonctionner avec des noms de fichiers incorrects. Si vous ne souhaitez pas vous soucier de la mise en œuvre vous-même des méthodes décrites, vous pouvez utiliser le programme depuis Xakep-CD ou le télécharger depuis Internet et utiliser ce module dans vos propres développements. Je pense que les méthodes que j'ai décrites ne sont pas les seules possibles, et si vous expérimentez différentes fonctions pour travailler avec des fichiers, vous découvrirez peut-être de nouvelles méthodes. Tellement heureux d’expérimenter !

Flux de fichiers NTFS

Le système de fichiers NTFS prend en charge ce que l'on appelle les « flux de données alternatifs » dans toutes les versions de NTFS. Cette technologie vous permet de joindre d'autres fichiers (appelés flux) contenant des données quelconques à un fichier situé sur un volume NTFS. Le flux attaché au fichier n'est visible ni depuis l'Explorateur ni depuis la ligne de commande. Le chemin d'accès au flux, relatif au fichier auquel il est attaché, ressemble à ceci : "file.ext:stream". La syntaxe suivante pour accéder à un flux est également autorisée : "file.ext:stream:$DATA". De plus, le fichier principal auquel les threads sont attachés peut lui-même être considéré comme un thread. Dans ce cas, le chemin ressemblera à ceci : . Les flux sont largement utilisés par le système pour stocker toute information de service sur un fichier, par exemple un résumé d'un document. Les attributs d'un fichier ou d'un répertoire sont également stockés dans un flux appelé $Attribute_List. En général, le symbole « $ » dans le nom d'un flux indique qu'il est utilisé d'une manière ou d'une autre par le système.

Convention de dénomination universelle

Convention de dénomination universelle - en abrégé UNC, peut être traduit littéralement par « Convention de dénomination universelle », il s'agit d'un format permettant d'enregistrer le chemin d'accès à un fichier situé sur un ordinateur distant. Cela ressemble à "\\server\share\path". Le serveur est, curieusement, un serveur, le partage est une ressource partagée sur celui-ci, puis suit le chemin d'accès au fichier dans le format habituel. Cette méthode d'accès aux fichiers peut également être utilisée pour une machine locale, seulement dans ce cas, au lieu de « serveur », vous devez remplacer « ? ou ".", et indiquez le chemin d'accès au fichier ainsi que la lettre du lecteur. Par exemple : "\\?\C:\folder\file.txt".

Inscription 1.

#inclure #inclure void CreateStrangeFile(char *filename) ( char *curdir; //dossier actuel char *uncpath; //chemin complet du fichier au format UNC GetCurrentDirectory(MAX_PATH,curdir); //récupère le répertoire actuel wsprintf(uncpath,"\\ \\ ?\\%s\\%s",curdir,filename); //former un chemin UNC //créer un nouveau fichier HANDLE hFile = CreateFile(uncpath, GENERIC_WRITE, FILE_SHARE_WRITE, NULL, CREATE_ALWAYS, NULL, NULL); DWORD ret; //écrit les informations secrètes WriteFile(hFile,"Ceci est une information super secrète",28,&ret, NULL) CloseHandle(hFile) int main() ( CreateStrangeFile("prn"); //crée le fichier

Ayant rencontré une phrase incompréhensible, le lecteur s'efforce généralement d'en découvrir le sens. Cet article est une brève excursion pour l'utilisateur dans le monde de l'inconnu.

Concept général d'un fichier

Le stockage à long terme stocke toutes les données sous forme de fichiers. Qu'est-ce que c'est? Un fichier est une séquence nommée d’octets, eux-mêmes constitués de bits. Il a son propre nom et sa propre adresse. Le premier paramètre est spécifié par une personne et le second est défini et mémorisé pendant longtemps par le système d'exploitation. La recherche s'effectue par nom de fichier, l'utilisateur n'a donc pas besoin d'écrire son adresse.

Il arrive que des informations soient introuvables sur les supports informatiques. Mais même un fichier vide a son propre nom, qui est une propriété importante de l'ensemble de données enregistré sur le disque dur. S'il est absent, une telle structure ne peut pas être qualifiée de stockage.

Système de fichiers

Chaque disque (disquette, disque dur ou laser) peut en contenir une quantité énorme. Le système de fichiers est conçu pour stocker des données et organiser divers répertoires. Au sens large, il s'agit de la totalité de toutes les informations présentes sur le disque, d'ensembles de structures de données et d'un ensemble d'outils logiciels système. Le répertoire racine est constitué de pièces jointes de 2ème niveau, qui, à leur tour, incluent des dossiers de 3ème niveau, etc. Un système linéaire à un seul niveau est utilisé pour les disques contenant plusieurs fichiers, un système hiérarchique à plusieurs niveaux pour les disques en contenant un grand nombre. La seconde est caractérisée par une structure arborescente.

Objectif du système de fichiers

Il consiste à fournir une interface pratique à une personne lorsqu'elle accède aux informations situées sur le disque et à réaliser la possibilité de partager des objets entre de nombreuses personnes et des processus en cours. Ce type de structure vous permet d'obtenir un maximum de résultats lorsque vous travaillez avec des données.

Types de fichiers

Grâce à certaines informations, l’ordinateur peut à peu près « comprendre » ce que contient l’ensemble de données et quel programme peut être utilisé pour l’ouvrir. L'extension correspond aux quelques lettres ou chiffres qui apparaissent après le point dans le nom de fichier standard. Il définit le type de données et le programme correspondant. Par exemple, les informations enregistrées sur un disque avec une extension mp3 s'ouvriront dans le lecteur. L'image du programme est présente dans l'image du fichier. Par cette icône, un utilisateur expérimenté comprend immédiatement où le type de données spécifié peut être appliqué. Le document ne s'ouvrira que dans un programme conçu pour le texte. Les fichiers vidéo peuvent être lus dans le lecteur. Les informations sous forme d'images s'ouvrent dans un éditeur graphique. Il existe de nombreux fichiers différents. Chacun d'eux possède une icône indiquant le programme correspondant.

Fichier : noms de fichiers

Les utilisateurs donnent des noms symboliques à l'ensemble de données sur le disque. Les fichiers sont identifiés par eux. Dans ce cas, les restrictions du système doivent être prises en compte tant sur les caractères utilisés que sur la longueur totale de la phrase. Le nom du fichier est le nom spécifié ci-dessus, qui peut être le même pour plusieurs ensembles de données. Dans ce cas, la séquence des identifiants d'annuaire, c'est-à-dire l'adresse où se trouvent les informations, sera différente. Dans certains systèmes, le même objet ne peut pas avoir plusieurs noms, dans d'autres, une telle restriction n'existe pas du tout. Dans ce dernier cas, l’ensemble de données reçoit un nom unique. Il s'agit d'un identifiant numérique utilisé par tout programme du système d'exploitation.

Composition du nom de fichier

Toute information sur un disque contient plusieurs éléments. De quoi est composé le nom du fichier ? Pour comprendre cela, il faut avoir un échantillon sous les yeux. Le nom du fichier se compose de deux parties interdépendantes : le nom et l'extension, qui détermine le type de données. Il identifie toute information présente sur le support.

Nom et prénom

Voici un exemple :

C:\Musique\Vacances\Melody.mp3.

Le nom complet du fichier indiqué dans l'exemple est le nom composé du fichier lui-même et du chemin d'accès aux informations. Le dernier élément répertorié est une liste d'ID de dossier qui doivent être ouverts séquentiellement pour passer du niveau le plus élevé à l'ensemble de données. Le nom complet du fichier doit être spécifié, à partir du répertoire racine, et contient une liste de toutes les pièces jointes dépendantes des autres niveaux. Ce nom est absolu. Il fait référence aux informations concernant le répertoire racine, quel que soit le dossier actuel. Tous les éléments du nom sont séparés par une barre oblique (\). Ce caractère doit être précisé avant le nom du répertoire racine.

Nom court

Les contraintes sont la raison pour laquelle ce terme est né. À cette époque, le nom d’un fichier ne pouvait contenir que 8 caractères. Un peu plus tard, il est devenu possible de mettre un point après le nom et d'ajouter 3 caractères d'extension.

Cela ressemblait à ceci :

Mélodie.mp3.

Les développeurs ont commencé à utiliser des extensions de nom pour des besoins techniques. Avec leur aide, les programmes « ont appris » à reconnaître le type de fichier. Ce système d'enregistrement du nom de fichier a été appelé système 8.3 (d'après le nombre de caractères du nom et de l'extension, ainsi qu'un point entre eux). Il présentait un certain nombre d'inconvénients : l'impossibilité d'utiliser des espaces, des signes de ponctuation et des lettres autres que l'alphabet anglais. Par conséquent, créer un nom significatif était très difficile. Le nom court ne contient pas de barre oblique ( \ ). Par ce nom, vous pouvez faire référence aux données du répertoire courant.

Nom long

Auparavant, lorsque des milliers de fichiers étaient stockés sur des disques, les utilisateurs savaient très bien d'où provenaient certaines données sur le support. Actuellement, il est impossible de surveiller l’historique des informations entrantes. Par conséquent, les restrictions strictes sur la longueur du titre ont été supprimées pour les données. De quoi est composé le nom du fichier ? Désormais, le nom peut être écrit en lettres russes, avec quelques signes de ponctuation et même des espaces. L'extension n'est pas indiquée seulement par trois caractères. Si le nom contient plusieurs points, alors le type de fichier est indiqué après le dernier signe de ponctuation.

Cependant, les traditions contiennent un grand pouvoir, c’est pourquoi on ne trouve pas d’extensions longues sur les ordinateurs. Trois caractères suffisent au système pour indiquer le type de fichier. Il peut y avoir au moins 250 caractères, même si cela semble certainement excessif.

Objets problématiques

Un document avec un titre long risque de ne pas être lu correctement sur un autre ordinateur. Par conséquent, lors de l'envoi de données, vous devez utiliser des lettres latines. L'alphabet russe peut ne pas être sur l'ordinateur du destinataire et, à la place de phrases, un ensemble de caractères incompréhensibles apparaîtra. Pour organiser un système de stockage de fichiers sur l'ordinateur personnel de l'utilisateur, toutes les lettres sont utilisées.

Corriger le nom du fichier

Il peut être constitué de lettres majuscules ou minuscules, d'un chiffre, d'un point et d'un trait de soulignement. L'utilisation des espaces n'est pas interdite. Cependant, il ne faut pas en abuser et ne pas le mettre non plus au début du nom. Vous pouvez inclure d'autres caractères dans le nom, à l'exception des caractères réservés (>< | ? * / \ : "). Расширение отделяется от названия последней правой точкой. Длина имени ограничивается 255 знаками. На самом деле обычному пользователю хватает 20 символов. Операционная система не различает строчные и прописные буквы в имени файла. Это означает, что сохранить в одном каталоге два элемента с одинаковым названием, написанным в разном регистре, не получится. Так может выглядеть пример совпадающих имен: «Текст.doc» и «ТЕКСТ.doc».

Nom de fichier incorrect

En plus de ces restrictions, il existe une interdiction d'utiliser des noms d'appareils réservés.

PRN est donc une imprimante. COM1-COM4 - appareils connectés aux ports série 1-4. AUX remplit la même fonction que COM1. LPT1-LPT4 sont des éléments connectés aux ports parallèles 1-4 (imprimantes), CON (console) pour entrée - clavier, sortie - écran, NUL - périphérique « vide ». Lorsqu'un utilisateur tente de spécifier un nom réservé, le système affiche une erreur. Un avertissement s'affiche également lorsque des caractères interdits sont utilisés. Cela indique un nom de fichier invalide. Les informations incorrectement enregistrées sur un ensemble de données ne sont pas enregistrées, mais prennent la valeur précédente.

Modèle de nom de fichier

Les shells du système d'exploitation, ainsi que divers langages de programmation, permettent à l'utilisateur de rechercher des noms et des répertoires pour des groupes spécifiques. Tous les fichiers sont vérifiés pour leur conformité à un modèle donné, si l'un d'entre eux correspond au modèle, alors il est pris en compte, sinon il est ignoré.

Pourquoi un tel échantillon est-il nécessaire ? Souvent, vous devez effectuer la même action sur tout un groupe de fichiers. Cela prend moins de temps que d’accéder à chaque document individuellement. Le modèle de nom de fichier vous permet de sélectionner un groupe qui répond aux exigences spécifiées parmi la foule. Il est même utilisé dans la récupération de données.

Caractères spéciaux

Le modèle de nom de fichier est spécifié à l'aide de caractères spéciaux :

  • Un astérisque est un symbole pour tout groupe de caractères. Leur nombre n'a pas d'importance. Par exemple, une étoile est un modèle qui correspond à toutes les informations du catalogue. Grâce à la commande *.mp3, vous pouvez modifier n'importe quel fichier du même type. Les noms de fichiers commençant par my et se terminant par .txt sont mis en évidence à l'aide du modèle my*.txt. Le modèle *2014* définit tous les objets existant sur l'ordinateur dont les noms contiennent le groupe de caractères 2014.
  • est une désignation pour un seul caractère. Par exemple, pour l'échantillon de musique.??? les données commençant par le mot spécifié et ayant une extension de trois lettres anglaises conviennent. Dans le modèle na?e.txt, n'importe quel symbole peut être utilisé à la place du point d'interrogation standard.

Autres équipes

Il existe également d'autres règles pour la compilation des échantillons. En incluant des crochets () dans la commande avec une liste de valeurs possibles, vous pouvez rendre la recherche plus flexible. Si vous souhaitez rechercher des fichiers commençant par la lettre t, sans tenir compte de la casse, alors le modèle doit être écrit comme ceci : *. Lorsque vous recherchez des données avec des noms alphabétiques, vous pouvez créer une plage. Un modèle similaire ressemble à ceci : ?.jpg. Le système trouvera les fichiers avec le type d'extension spécifié, dont les noms sont composés de deux caractères. De plus, la première lettre k, l, y ou z n'est pas sensible à la casse.

Valeur de la coque

Plusieurs caractères spéciaux peuvent être utilisés dans un même modèle. Les modèles sont combinés avec de nombreuses commandes : parcourir des répertoires, copier des fichiers, rechercher, etc. Cependant, les actions ne sont pas effectuées avec le modèle, mais avec les données qui lui correspondent. Les objets requis sont sélectionnés par le shell de commande.

L'expansion de modèle est le processus de remplacement du caractère * par une séquence cohérente de noms de fichiers.

Certaines commandes ne pourront jamais trouver de caractère spécial dans leur liste de paramètres. Alors, qui est responsable de la récupération des données ? Le shell de commande effectue l'expansion nécessaire du modèle de telle sorte que tous les noms de fichiers correspondant au modèle soient répertoriés.

Masques de noms de fichiers

Ils sont utilisés dans les opérations de groupe avec des données. Le masque est une séquence de caractères autorisée dans les noms de fichiers, qui peut également contenir un point d'interrogation et un astérisque. Avec son aide, vous pouvez supprimer n'importe quel fichier temporaire sur votre ordinateur. Les noms de fichiers de la commande peuvent contenir différents symboles. Un point d'interrogation marque un caractère arbitraire, tandis qu'un astérisque marque une séquence entière. Par exemple, en utilisant la commande rm *mp3, vous pouvez supprimer tous les fichiers se terminant par ce fragment. Si vous devez effacer toutes les données d'un répertoire, vous devez utiliser la commande rm *. La commande fonctionne presque de la même manière en modifiant un caractère. Les masques de nom peuvent également être utilisés avec des répertoires.

Copie problématique

La transition vers des noms longs crée des problèmes de compatibilité avec les programmes créés précédemment qui utilisent de petites phrases. Pour que les applications puissent ouvrir les informations conformément à la structure de stockage précédemment adoptée, le système de fichiers doit être capable de fournir des alias courts uniques pour les données portant des noms complexes. Les systèmes d'exploitation plus récents prennent en charge les noms longs. Mais parfois, l'utilisateur est confronté à des problèmes inattendus. Copier des fichiers portant des noms longs peut être difficile.

Dans ce cas, même créer un raccourci ne vous aidera pas. En règle générale, l'utilisateur doit simplement renommer le fichier et réessayer. Alternativement, vous pouvez archiver les données, les copier et les décompresser. Mais que faire si dans le centième sous-répertoire dans lequel se trouve le fichier requis, les noms de fichiers sont si longs à cause du chemin qui y est écrit ?

Options de sauvegarde

Si les méthodes ci-dessus ne fonctionnent pas, vous devez simplement connecter le lecteur réseau en cliquant avec le bouton droit sur l'image de l'ordinateur et en sélectionnant la connexion dans le menu qui apparaît. Dans ce cas, vous devez préciser la lettre du support souhaité ainsi que le chemin du fichier.

En dernier recours, l'utilisateur peut utiliser le programme de copie de noms longs FAR 2.0 et même désactiver la corbeille.

(FS), généralement appelé répertoire, répertoire ou dossier. Les noms de fichiers sont construits selon les règles adoptées dans un fichier et un système d'exploitation (OS) particuliers. De nombreux systèmes vous permettent d'attribuer des noms à la fois aux fichiers et répertoires ordinaires et aux objets spéciaux (liens symboliques, périphériques de blocage, etc.).

Le nom du fichier fait partie nom complet du fichier, également appelé complet ou de manière absolue au fichier. Le nom complet peut inclure les éléments suivants :

Le nom du fichier est nécessaire pour que l'utilisateur puisse accéder au fichier. Il ne peut pas y avoir deux fichiers portant le même nom dans un même répertoire (certains systèmes de fichiers ne sont pas sensibles à la casse, ce qui laisse la possibilité de créer des fichiers dont les noms diffèrent selon la casse).

Le nom du fichier se compose de deux parties séparées par un point :

Noms de fichiers sur différents systèmes

Complet, ou absolu, est le nom du fichier contenant tous les répertoires jusqu'à la racine du système de fichiers. Relatif les noms de fichiers ne contiennent pas de chemin complet et sont généralement liés au répertoire courant.

Fenêtres

  • \ - séparateur de sous-répertoire
  • / - séparateur de clé de coque
  • : - sépare la lettre de lecteur ou le nom d'un autre flux de données
  • * - caractère de remplacement (masque "n'importe quel nombre de n'importe quel caractère")
  • ? - personnage de remplacement (masque "n'importe quel caractère")
  • " - utilisé pour spécifier des chemins contenant des espaces
  • < - перенаправление ввода
  • > - redirection de sortie
  • | - désigne un convoyeur

Dans les systèmes d'exploitation UNIX et de type UNIX, la barre oblique (/) - séparateur de sous-répertoire - et le caractère de fin de ligne (\0) sont interdits. Les caractères listés ci-dessus (sauf le slash) peuvent être utilisés, mais pour des raisons de compatibilité il vaut mieux les éviter.

Extension du nom de fichier

Extension du nom de fichier(Anglais) extension du nom de fichier, disent-ils souvent simplement extension de fichier ou extension) - une séquence de caractères ajoutée au nom du fichier et destinée à identifier le type (format) du fichier. C'est l'un des moyens courants par lesquels un utilisateur ou un logiciel informatique peut déterminer le type de données stockées dans un fichier. L'extension est séparée de la partie principale du nom de fichier par le dernier point. Parfois, plusieurs extensions peuvent être utilisées, se succédant, par exemple ".tar.gz".

Le système d'exploitation ou le gestionnaire de fichiers peut mapper les extensions de fichiers aux applications. Lorsqu'un utilisateur ouvre un fichier avec une extension enregistrée, le programme correspondant à cette extension est automatiquement lancé. Certaines extensions peuvent indiquer que le fichier est exécutable (sous Windows).

Voir aussi

Littérature

  • Robatchevski A.N., Nemnyugin S.A., Stesik O.L. Noms de fichiers / Système de fichiers de base Système V / Chapitre 4. Système de fichiers // Système d'exploitation UNIX. - 2e éd. - Saint-Pétersbourg. : BHV-Pétersbourg, 2008. - pp. 338-339. - 656 s. - ISBN978-5-94157-538-1

Fondation Wikimédia.

  • 2010.
  • Yasaka-jinja

Dubovik

    Voyez ce qu'est « Nom de fichier » dans d'autres dictionnaires : Attributs du fichier - un ensemble d'octets qui distingue un fichier de nombreux autres fichiers. Les attributs du fichier sont : le nom du fichier et le type de contenu ; date et heure de création du fichier ; nom du propriétaire du fichier ; taille du fichier ; droits d'accès aux fichiers ; méthode d'accès aux fichiers. Voir aussi :… …

    Extension du nom de fichier Dictionnaire financier

    - (extension de nom de fichier en anglais, souvent simplement appelée extension de fichier ou extension) séquence de caractères ajoutée au nom de fichier et destinée à identifier le type (format) du fichier. C'est l'une des méthodes courantes, avec... ... Wikipedia transfert de fichiers

    - Transférer un fichier d'un répertoire ou d'un dossier à un autre. Souvent, lors du transfert, l'utilisateur modifie le nom du fichier. En conséquence, le fichier est écrit dans un nouvel emplacement et effacé dans l'ancien. En revanche, lorsque vous copiez un fichier, il apparaît dans un nouvel emplacement... ... Format de fichier X

    - un format de fichier de stockage d'objets 3D créé par Microsoft. Ce format stocke des informations sur la géométrie d'un objet 3D (coordonnées de sommet et coordonnées normales), les coordonnées de texture, les descriptions de matériaux, les chemins et les noms des textures qui... Wikipédia Format de fichier

    - Spécification du format de la structure des données enregistrées dans un fichier informatique. Le format du fichier est généralement indiqué dans son nom, sous la forme d'une partie séparée par un point (cette partie est généralement appelée extension du nom de fichier, bien que ce ne soit pas vrai à proprement parler). Par exemple,... ... Wikipédia attributs de fichier - Attributs de fichier identifiables (nom, etc.) [E.S. Alekseev, A.A. Myachev. Dictionnaire explicatif anglais-russe sur l'ingénierie des systèmes informatiques. Moscou 1993] Thèmes technologies de l'information en général Attributs du fichier EN...

Guide du traducteur technique

C'était la première fois que je voyais quelque chose comme ça - les fichiers et dossiers du lecteur flash disparaissaient, et à leur place apparaissaient des fichiers avec des noms étranges sous la forme de "kryakozyabriks", appelons-les des hiéroglyphes.

Le lecteur flash a été ouvert à l'aide d'outils Windows standard et, malheureusement, cela n'a pas donné de résultats positifs.

Les fichiers sur le lecteur flash ont disparu, mais Windows indique que l'espace libre est occupé. Cela suggère que bien que les fichiers qui nous intéressent ne soient pas affichés, ils se trouvent sur le lecteur flash.

Bien que les fichiers aient disparu, l'espace est occupé. Dans ce cas particulier, 817 Mo sont occupés

La première réflexion sur la cause de ce qui s’est passé est l’effet du virus. Auparavant, en cas de virus, le gestionnaire de fichiers FAR Manager était utilisé, qui, en règle générale, voit tous les fichiers (cachés et système). Cependant, cette fois, le gestionnaire FAR n'a vu que ce que faisait l'Explorateur Windows standard...

Même le responsable des FAR n'a pas pu voir les fichiers « perdus »

Étant donné que Windows ne voit pas les fichiers manquants, il n'essaie pas de modifier les attributs des fichiers à l'aide de la ligne de commande et de la commande attrib -S -H /S /D.

Que verra Linux ?

Dans cette situation, à titre expérimental, j'ai décidé d'utiliser un système d'exploitation basé sur Linux. Dans ce cas particulier, un disque avec le système d'exploitation Ubuntu 10.04.3 a été utilisé (plus de détails sur Ubuntu et où le télécharger).

Important! Il n'est pas nécessaire d'installer Ubuntu sur votre ordinateur : démarrez simplement à partir d'un CD, comme vous le faites avec .

Après avoir démarré Ubuntu, le bureau apparaîtra et vous pourrez travailler avec des dossiers et des fichiers exactement de la même manière que sous Windows.

Comme prévu, Ubuntu a vu plus de fichiers que Windows.

Ubuntu affiche également les fichiers qui n'étaient pas visibles depuis Windows (cliquables)

Ensuite, afin de ne pas vous soucier des attributs des fichiers, des étapes de base ont été prises : tous les fichiers affichés ont été sélectionnés et copiés sur le lecteur local « D » (bien sûr, vous pouvez également copier les fichiers sur le lecteur système « C »).

Vous pouvez maintenant redémarrer Windows et vérifier ce qui s'est passé.

Windows voit désormais plusieurs fichiers Word. Veuillez noter que les noms de fichiers s'affichent également correctement

Malheureusement, le problème n'est pas résolu, car il y avait clairement plus de fichiers sur la clé USB (à en juger par le volume de 817 Mo) que nous n'avons pu en extraire. Pour cette raison, essayons de vérifier les erreurs sur le lecteur flash.

Dépannage des erreurs du lecteur flash

Pour rechercher et corriger les erreurs sur les disques, Windows dispose d'un utilitaire standard.

Étape 1. Faites un clic droit sur l'icône du lecteur flash et sélectionnez la commande « Propriétés ».

Étape 2. Allez dans l'onglet « Service » et cliquez sur le bouton « Exécuter la vérification ».

Étape 3. Cliquez sur le bouton « Lancer ».

Après avoir vérifié et corrigé les erreurs du système, un message correspondant apparaîtra.

Message : "Certaines erreurs ont été trouvées et corrigées"

Après avoir éliminé les erreurs, les fichiers contenant des hiéroglyphes ont disparu et un dossier caché nommé FOUND.000 est apparu dans le répertoire racine du lecteur flash.

Dans le dossier FOUND.000, il y avait 264 fichiers avec l'extension CHK. Les fichiers avec l'extension CHK peuvent stocker des fragments de fichiers de différents types extraits de disques durs et de lecteurs flash à l'aide des utilitaires ScanDisk ou CHKDISK.

Si tous les fichiers sur la clé USB étaient du même type, par exemple des documents Word avec l'extension docx, alors dans le gestionnaire de fichiers Total Commander, sélectionnez tous les fichiers et appuyez sur la combinaison de touches Ctrl + M (Fichiers - Renommer le groupe) . Nous indiquons quelle extension rechercher et par quoi la changer.

Dans ce cas particulier, je savais seulement que la clé USB contenait des documents Word et des fichiers avec des présentations Power Point. Changer les extensions au hasard est très problématique, il est donc préférable d'utiliser des programmes spécialisés - ils détermineront eux-mêmes quel type de données est stocké dans le fichier. L'un de ces programmes est un utilitaire gratuit qui ne nécessite pas d'installation sur votre ordinateur.

Spécifiez le dossier source (j'ai vidé les fichiers CHK sur mon disque dur). Ensuite, j'ai choisi l'option dans laquelle les fichiers avec des extensions différentes seraient placés dans des dossiers différents.

Tout ce que vous avez à faire est de cliquer sur « Démarrer »

Grâce à l'utilitaire, trois dossiers sont apparus :

  1. DOC - avec des documents Word ;
  2. JPG - avec des images ;
  3. ZIP - avec archives.

Le contenu de huit fichiers n'a pas été reconnu. Cependant, la tâche principale a été accomplie : les documents Word et les photographies ont été restaurés.

L'inconvénient est qu'il n'a pas été possible de restaurer des noms de fichiers similaires, vous devrez donc évidemment bricoler pour renommer les documents Word. Quant aux fichiers contenant des images, des noms tels que FILE0001.jpg, FILE0002.jpg, etc. fonctionneront également.



Des questions ?

Signaler une faute de frappe

Texte qui sera envoyé à nos rédacteurs :