Comment ajouter le nom de fichier dans le répertoire en cours dans le fichier batch?

StackOverflow https://stackoverflow.com/questions/517106

  •  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 ??

Était-ce utile?

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.

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