Obtener nombre de archivo a variable de la lista de archivos

Obtener nombre de archivo a variable de la lista de archivos

Actualmente estamos convirtiendo programadores. Actualmente puedo realizar transferencias de archivos usando comodines y luego, en un proceso posterior, puedo obtener lo que se movió y leerlo para obtener el nombre del archivo que se movió con el comodín. Ya no podemos hacer esto con el nuevo programador para obtener el nombre del proceso de publicación.

La carpeta debe tener solo 1 archivo después de la transferencia con ese nombre, por lo que, por ejemplo, la carpeta "C:\Files\" podría tener:

Rainbow.csv
Document 1079475.pdf
Shapes_20180411.txt

Si quiero obtener el nombre de archivo "Documento 1079475.pdf" de la lista y ponerlo en una variable, ¿cómo lo haría con secuencias de comandos por lotes en Windows sabiendo solo "Documento*.pdf"?

He probado los siguientes comandos:

dir "%homedrive%\Files\Document*.pdf" > temp.txt
set /p VAR=<temp.txt
echo %VAR%

Sin embargo, al ejecutar la primera línea se regresa al archivo:

 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

Entonces la variable VAR regresa

Volume in drive C is OSDisk

Respuesta1

Si estás haciendo búsquedas específicas y haces un directorio sin encabezados y solo para archivos como:

dir /b /A:A "%homedrive%\Files\Document*.pdf" > temp.txt

El mismo comando que probó funcionará y le dará solo el nombre del archivo (y una nueva línea).

dir /? 

le dará otras opciones que pueden ser útiles

información relacionada