如何用.bat或.cmd文件遍历目录中的每个文件?

为简单起见,请提供一个只回显文件名或文件路径的答案。


当前回答

Use

for /r path %%var in (*.*) do some_command %%var

:

Path是起始路径。 %%var是某个标识符。 *。*是一个文件掩码或变量的内容。 Some_command是要执行的命令,路径和var作为参数连接在一起。

其他回答

最简单的方法:

从命令行,使用:

for %f in (*.*) do echo %f

从批处理文件(加倍% %符号):

for %%f in (*.*) do echo %%f

从批处理文件的文件夹指定为第一个参数:

for %%f in (%1\*.*) do echo %%f

我有一些恶意软件,将目录中的所有文件标记为隐藏/系统/只读。如果其他人发现自己处于这种情况,cd进入目录并运行/f "delims=|" %f in ('forfiles') do attrib -s -h -r %f。

另外,使用:

forfiles /s /m *.png /c "cmd /c echo @path"

forfiles命令在Windows Vista及以上版本中可用。

Use

for /r path %%var in (*.*) do some_command %%var

:

Path是起始路径。 %%var是某个标识符。 *。*是一个文件掩码或变量的内容。 Some_command是要执行的命令,路径和var作为参数连接在一起。

另一种方法:

for %f in (*.mp4) do call ffmpeg -i "%~f" -vcodec copy -acodec copy "%~nf.avi"