В настоящее время мы преобразуем планировщики. В настоящее время я могу выполнять передачу файлов с использованием подстановочных знаков, а затем в процессе поста я могу получить то, что было перемещено, и прочитать это, чтобы получить имя файла, перемещенного с подстановочным знаком. Мы больше не можем делать это с новым планировщиком, получая имя из процесса поста.
После переноса в папке должен быть только 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 /?
предложит вам другие варианты, которые могут быть полезны