2015-04-28 60 views
-3

我有一個文件ad.exe可以對存在於同一文件夾中的文本文件進行操作。 它位於D:/.../ bin。執行時,它從文件8000.txt中讀取數據並創建98.txt。我有許多文件夾中都包含8000.txt。我想要exe文件在每個文件夾中的每個8000.txt上進行操作。所有這些8000.txt文件都位於桌面上的一個文件夾中的多個文件夾中。 我想避免將同一文件複製到每個文件夾中,並逐一執行它們中的每一個。我想一次做所有這些工作。 我該怎麼辦?如何在Windows中的多個文件夾中執行一個exe文件

我已閱讀 batch file to execute a command on all files in multiple directories 但無法理解。

+0

您需要添加更多詳細信息。你如何援引它?你是否必須在命令行上傳遞文本文件列表? – mjs

+0

我編輯了這個問題。梅斯現在有點清楚.. –

回答

0

簡單的答案是FOR loop哪個DOS有內聯幫助使用For /?和閱讀訪問。打開兩個CMD窗口,使用一個幫助,第二個嘗試命令。提示:使用ECHO只能在DOS中顯示文本,而不能將命令作爲測試運行。

快速簡單的方式來做這樣的事情是創建一個文本文件列表。使用dir /s /b *.txt >> c:\output.log這將創建一個文件,其中包含所有子文件夾中的每個文本文件的列表。

接下來是FOR loop

FOR /f %a in (output.log) do echo %a

FOR將打開output.log和閱讀每一行。每行代表%a,這是簡單寫入控制檯。如果命令do dir %a命令將在output.log

上的每個文件運行DIR簡單的調整,以滿足您的需求,並張貼回來,如果有任何錯誤。

0
FOR /F "usebackq" %f IN (`DIR /S /B 8000.txt`) DO (myprog.exe "%f") 

如果將其置於.bat或.cmd腳本中,請務必將文件名變量的百分號加倍。

FOR /F "usebackq" %%f IN (`DIR /S /B 8000.txt`) DO (
    myprog.exe "%%f" 
) 
相關問題