【发布时间】:2014-12-04 09:01:38
【问题描述】:
我编写了(使用来自 Internet 的知识)脚本(批处理文件)来删除文件夹中的所有文件夹和文件。
DEL /F /Q /S C:\commonfiles\*
for /D %%i in ("C:\commonfiles\*") do RD /S /Q "%%i"
我只是不知道 %%i 是什么意思。和 C++ 中的 i++ 一样吗?
【问题讨论】:
标签: windows batch-file for-loop
我编写了(使用来自 Internet 的知识)脚本(批处理文件)来删除文件夹中的所有文件夹和文件。
DEL /F /Q /S C:\commonfiles\*
for /D %%i in ("C:\commonfiles\*") do RD /S /Q "%%i"
我只是不知道 %%i 是什么意思。和 C++ 中的 i++ 一样吗?
【问题讨论】:
标签: windows batch-file for-loop
%%i 只是循环变量。这在for 命令的文档中有说明,您可以通过在命令提示符下键入for /? 来获得该命令。
在这些链接中讨论了在批处理文件中使用双百分号的事实:
【讨论】:
在这种情况下,FOR /D 遍历C:\commonfiles\ 中的所有目录,并且在每次迭代中,当前目录都可以通过 %%i 变量访问。这是一个仅在 FOR 命令上下文中有效的特殊变量。在命令提示符下,您需要使用:
for /D %i in ("C:\commonfiles\*") do RD /S /Q "%i"
欲了解更多信息FOR /? 或SS64.COM
【讨论】: