
我正在使用僅允許我使用批次檔的 Informatica 平台。我目前正在使用命令生成文件名列表
dir /b /a-d
850_B_4545703_.txt
850_B_003029660_.txt
850_B_069029548_.txt
850_B_188789_.txt
850_C_ENT_1712865_.txt
850_C_ENT_1712871_.txt
850_C_1712877_.txt
但為了讓 Informatica 使用此列表來查找文件,我必須添加平面文件連接中使用的路徑,即
\\jdeappp03\EDI\
所以我想要實現的是一個批次文件,它將輸出以下內容:
\\jdeappp03\EDI\850_B_4545703_.txt
\\jdeappp03\EDI\850_B_003029660_.txt
\\jdeappp03\EDI\850_B_069029548_.txt
\\jdeappp03\EDI\850_B_188789_.txt
\\jdeappp03\EDI\850_C_ENT_1712865_.txt
\\jdeappp03\EDI\850_C_ENT_1712871_.txt
\\jdeappp03\EDI\850_C_1712877_.txt
我嘗試使用,dir /s/b *.txt
但這給了我的 Informatica 設定無法用來查找檔案的絕對路徑。
有沒有辦法透過批次檔獲得我想要的結果?
答案1
您可以在批次檔中使用以下命令:
for /f "delims=" %%a in ('dir /b /a-d <PATH>') do (echo \\jdeappp03\EDI\%%a)
在命令周圍使用 for 迴圈可讓您迭代其輸出並將其保存在變數中%%a
。在該迭代期間您想要做的所有事情都發生在do
.
do
如果您想使用換行符號以提高可讀性,則只需在後面加上括號。
for /?
在 Windows cmd 中使用以了解有關該for
命令的更多資訊。
答案2
更短的選擇是:
for %%i in ("D:\Path\*.txt")do echo \\jdeappp03\EDI\%%~nxi