Получить имя файла в переменную из списка файлов

Получить имя файла в переменную из списка файлов

В настоящее время мы преобразуем планировщики. В настоящее время я могу выполнять передачу файлов с использованием подстановочных знаков, а затем в процессе поста я могу получить то, что было перемещено, и прочитать это, чтобы получить имя файла, перемещенного с подстановочным знаком. Мы больше не можем делать это с новым планировщиком, получая имя из процесса поста.

После переноса в папке должен быть только 1 файл с таким именем, например, папка «C:\Files\" может иметь:

Rainbow.csv
Document 1079475.pdf
Shapes_20180411.txt

Если я хочу получить имя файла «Document 1079475.pdf» из списка и поместить его в переменную, как это сделать с помощью пакетного скрипта в Windows, зная только «Document*.pdf»?

Я попробовал команды ниже:

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

Однако запуск первой строки возвращает нас к файлу:

 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

Итак, переменная VAR возвращает

Volume in drive C is OSDisk

решение1

Если вы выполняете определенный поиск и используете dir без заголовков и только для файлов, например:

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

Та же команда, которую вы попробовали, сработает и выдаст вам только имя файла (и новую строку).

dir /? 

предложит вам другие варианты, которые могут быть полезны

Связанный контент