Como acrescentar nome do arquivo para o diretório atual no arquivo de lote?
-
21-08-2019 - |
Pergunta
Eu quero procurar um arquivo no diretório atual a partir do qual o lote está sendo executado, acrescentar o nome do arquivo para o diretório e incluir esse diretório inteiro como parte do comando que.
Assim .....
Directory:
C: \ tempfiles \ lote
Os arquivos em C: \ tempfiles \ lote tmp1.txt tmp2.txt tmp3.txt anyname.exe
Eu quero o arquivo de lote, executado a partir do diretório, para encontrar qualquer arquivo .exe e anexá-lo ao nome do diretório, e usar essa nova string como parte de um comando para copiar o arquivo .exe para outro diretório. O comando acabará por ler como este (o FILETRANSFERSW.exe é o software de transferência de arquivo que também está no diretório):
C: \ tempfiled \ lote> FILETRANSFERSW.exe "% CD% \ tmp4.exe" X: \ dest
O nome do arquivo .exe vai mudar assim que eu preciso para adicionar dinamicamente o novo nome para o comando acima toda eu executar o arquivo em lotes. Quaisquer ideias ??
Solução
Se eu ler o seu problema corretamente, não é suficiente para usar o "para" palavra-chave?
for %a in (*.exe) do FILETRANSFERSW.exe %a X:\dest
Você pode testar a saída com algo inócuo como:
for %a in (*.exe) do echo [[%a]]
% ao acaba interagindo sobre * .exe no diretório atual, retornando o nome completo do arquivo para cada um.