我們目前正在轉換調度程序。目前,我可以使用通配符進行檔案傳輸,然後在後製中,我可以獲得移動的內容並讀取它以獲取使用通配符移動的檔案的檔案名稱。我們無法再使用從後處理中取得名稱的新調度程序來執行此操作。
傳輸後該資料夾應該只有 1 個具有該名稱的文件,因此例如資料夾「C:\Files\」可能包含:
Rainbow.csv
Document 1079475.pdf
Shapes_20180411.txt
如果我想從清單中取得檔案名稱「Document 1079475.pdf」並將其放入變數中,那麼在只知道「Document*.pdf」的情況下,您將如何在Windows 中使用批次腳本來完成此操作?
我已經嘗試過以下命令:
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 /?
會給你其他可能有幫助的選擇