如何使用批处理脚本对目录中的每个文件执行某些操作如何使用.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 关注
- 1187 浏览
添加回答
举报
0/150
提交
取消