2016-08-15 2 views
0

J'ai le problème suivant: Nous envoyons aux clients une clé USB avec un contenu qu'ils doivent importer sur un ordinateur Linux via une fonction d'import (aucune influence sur le Partie Linux, uniquement sur la partie clé USB). La fonction d'importation Linux ne peut pas lire les fichiers avec des espaces, c'est-à-dire que le fichier "informations sur le volume système" créé sur chaque lecteur d'un ordinateur Windows perturbe la fonction d'importation. Avec une recherche google j'ai découvert, comment je peux supprimer ce fichier sur le lecteur de la clé USB. Si je fais cela avant de déconnecter la clé USB de mon ordinateur Windows, je peux importer le contenu sur l'ordinateur Linux. Je le fais avec un fichier batch contenant la commande suivante:Lire le lecteur actuel du fichier batch et utiliser le nom du lecteur dans la commande

e/s/q D: \ « informations sur le volume du système »

Cependant, ces clés USB sont envoyés aux clients qui veulent voir le contenu sur un ordinateur Windows aussi, avant de l'importer, c'est-à-dire que le fichier "informations sur le volume du système" est créé à nouveau. Je voudrais le rendre le plus simple possible pour le client et mettre un fichier batch sur le stick où il suffit de double-cliquer dessus pour supprimer le fichier. C'est là que se situe mon problème: je ne peux pas être sûr, que ce sera le lecteur D: où se trouvera le bâton. C'est pourquoi je suis à la recherche d'une fonction ou d'une commande qui lit le lecteur du fichier batch (clé USB) et qui commande la suppression des "informations sur le volume du système". J'ai lu des choses au sujet de% ~ d0 mais je n'ai pas pu trouver comment j'ai spécifiquement écrit la commande pour le faire fonctionner.

Pourriez-vous m'aider? J'ai une expérience très limitée avec les lots, donc je m'excuse si cette question vous semble très facile.

Merci Milak

+1

Le répertoire système 'volume Information' est créé par Windows uniquement sur les volumes NTFS. Utilisez comme système de fichiers sur vos clés USB FAT32 ou exFAT si cela est possible et qu'aucun fichier batch ne serait nécessaire pour la suppression de ce répertoire. Pour une explication de '% ~ d0' (lecteur de l'argument 0 - le nom du fichier batch) ou'% ~ dp0' (lecteur et chemin de l'argument 0) ouvrez une fenêtre d'invite de commande, exécutez 'call /?' l'aide de sortie pour cette commande utilisée en général pour appeler un fichier séquentiel à partir d'un autre fichier batch. – Mofi

Répondre

0

Je n'ai pas testé le code:

@echo off 
set P=%~d0 
set "P=%P%\system volume information" 
rd /s /q "%P%" 
+0

Merci beaucoup, exactement ce dont j'avais besoin. La seule chose que j'ai changé était d'ajouter un "au code: @echo off ensemble P =% ~ d0 régler" P =% P% \ "informations sur le volume du système" rd/s/q% P% – Milak

+0

@Milak - Bizarre que vous ayez besoin d'un _third_ '" '... – SomethingDark