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

В папке должен быть только 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 ответ1

1

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

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

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

dir /? 

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .