No momento, estamos convertendo agendadores. Atualmente sou capaz de fazer transferências de arquivos usando curingas e, em um pós-processo, posso pegar o que foi movido e lê-lo para obter o nome do arquivo que foi movido com o curinga. Não podemos mais fazer isso com o novo agendador de obtenção do nome do processo de postagem.
A pasta deverá ter apenas 1 arquivo após a transferência com esse nome, então por exemplo a pasta "C:\Arquivos\" poderia ter:
Rainbow.csv
Document 1079475.pdf
Shapes_20180411.txt
Se eu quiser obter o nome do arquivo "Documento 1079475.pdf" da lista e colocá-lo em uma variável, como você faria isso com scripts em lote no Windows sabendo apenas "Documento * .pdf"?
Eu tentei os comandos abaixo:
dir "%homedrive%\Files\Document*.pdf" > temp.txt
set /p VAR=<temp.txt
echo %VAR%
No entanto, executar a primeira linha retorna ao arquivo:
Volume in drive C is OSDisk
Volume Serial Number is D841-0924
Directory of C:\Files
08/01/2016 10:05 PM 128,657 Document 1079475.pdf
1 File(s) 128,657 bytes
0 Dir(s) 63,461,928,960 bytes free
Então a variável VAR retorna
Volume in drive C is OSDisk
Responder1
Se você estiver fazendo pesquisas específicas e fizer dir sem cabeçalhos e apenas para arquivos como:
dir /b /A:A "%homedrive%\Files\Document*.pdf" > temp.txt
O mesmo comando que você tentou funcionará e fornecerá apenas o nome do arquivo (e uma nova linha).
dir /?
lhe dará outras opções que podem ser úteis