Comment ajouter le nom de fichier dans le répertoire en cours dans le fichier batch?
-
21-08-2019 - |
Question
Je veux rechercher un fichier dans le répertoire courant à partir duquel le lot est en cours d'exécution, ajoutez le nom de fichier dans le répertoire et inclure le répertoire qui ensemble dans le cadre de la commande qui.
.....
Répertoire:
C: \ tempfiles \ batch
Les fichiers dans C: \ tempfiles \ batch tmp1.txt tmp2.txt tmp3.txt anyname.exe
Je veux que le fichier de commandes, exécutez à partir du répertoire, pour trouver un fichier .exe et l'ajouter au nom du répertoire, et utiliser cette nouvelle chaîne dans le cadre d'une commande pour copier le fichier .exe à un autre répertoire. La commande finira par lire comme celui-ci (le FILETRANSFERSW.exe est le logiciel de transfert de fichiers qui est également dans le répertoire):
C: \ tempfiled \ batch> FILETRANSFERSW.exe "% CD% \ tmp4.exe" X: \ dest
Le nom du fichier .exe changera donc je dois ajouter dynamiquement le nouveau nom de fichier à chaque fois dans la commande ci-dessus je lance le fichier batch. Toutes les idées ??
La solution
Si je lis bien votre problème, est-il suffisant pour utiliser le « pour » mot-clé?
for %a in (*.exe) do FILETRANSFERSW.exe %a X:\dest
Vous pouvez tester la sortie avec quelque chose d'anodin comme:
for %a in (*.exe) do echo [[%a]]
% a finit itérer * .exe dans le répertoire courant, renvoie le nom complet du fichier pour chacun.