如何使用批處理腳本對目錄中的每個文件執行某些操作如何使用.bat或.cmd文件迭代目錄中的每個文件?為簡單起見,請提供一個只回顯文件名或文件路徑的答案。
3 回答

至尊寶的傳說
TA貢獻1789條經驗 獲得超10個贊
命令行用法:
for /f %f in ('dir /b c:\') do echo %f
批處理文件用法:
for /f %%f in ('dir /b c:\') do echo %%f
更新:如果目錄包含名稱中包含空格的文件,則需要更改for /f
命令正在使用的分隔符。例如,您可以使用管道char。
for /f "delims=|" %%f in ('dir /b c:\') do echo %%f
更新2 :(在原始答案之后快一年半:-))如果目錄名稱本身在名稱中有空格,則可以使用以下usebackq
選項for
:
for /f "usebackq delims=|" %%f in (`dir /b "c:\program files"`) do echo %%f
如果需要使用輸出重定向或命令管道,請使用escape char(^
):
for /f "usebackq delims=|" %%f in (`dir /b "c:\program files" ^| findstr /i microsoft`) do echo %%f

躍然一笑
TA貢獻1826條經驗 獲得超6個贊
或者,使用:
forfiles /s /m *.png /c "cmd /c echo @path"
forfiles命令在Windows Vista及更高版本中可用。

炎炎設計
TA貢獻1808條經驗 獲得超4個贊
其他方式:
for %f in (*.mp4) do call ffmpeg -i "%~f" -vcodec copy -acodec copy "%~nf.avi"
- 3 回答
- 0 關注
- 1235 瀏覽
添加回答
舉報
0/150
提交
取消