Question

Je suis en train de passer les fichiers un par un (je dois dot que depuis exécutable accepte qu'un seul fichier à la fois). Donc, dans mon lot je follwoing:

FOR /F %file IN ('dir /b /s *.css') DO CALL myExecutable.exe %file 

Je devrais voir des fichiers dans le même répertoire, mais rien ne se passe, aucune erreur ne soit affiché. Suis-je manque quelque chose ici?

Était-ce utile?

La solution

Vous avez plusieurs erreurs dans votre exemple:

  • nom de paramètre FOR est une seule lettre que
  • CALL est utilisé pour appeler un autre fichier batch ou un sous-programme dans le fichier batch existant, et non executables
  • le paramètre FOR doit être référencé avec deux%, quand dans le fichier batch
  • vous devez utiliser un séparateur non-espace, si le répertoire que vous exécutez cette commande ou tout sous-répertoire, ou si l'un des fichiers a un espace dans le nom

Avec cela à l'esprit, voici la bonne commande, vous devez utiliser:

for /f "usebackq delims=|" %%f in (`dir /b /s *.css`) do myexecutable.exe "%%f"

Voici de ma réponse à une question similaire de SO, où je donne plus de détails sur l'utilisation FOR pour traiter tous les fichiers dans un répertoire.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top