del /s /q "C:test*.*"
for /d %%p in (C:test*.*) do rmdir "%%p" /s /q
这是我的代码,用于删除文件夹中的文件和子文件夹。它有效,但我不明白每个命令的工作原理。所以我的问题是,第二行是什么意思?比如,什么是%%p
部分,什么是 rmdir "%%p"
部分?
这是一个批处理文件。
for /d
是迭代目录。%%p
是一种用于 for 循环的特殊变量 - 在这种情况下,它会将其值更改为 c:tests
中的每个目录名称。do 后面的部分表示对 %%p
的每个值执行rmdir
(删除目录(。更多信息在这里
如有疑问,您应该通过键入 YourCommand /?
来查看每个命令的帮助:
戴尔/?
RD/? 或 rmdir/?
为/?
我添加了一个echo
以查看执行批处理文件时会发生什么:
@echo off
Echo This command to delete all files located on your "C:test" folder
Echo del /s /q "C:test*.*"
pause
echo this command is for looping thru your directory "C:test" to remove any subfolders on there
for /d %%p in (C:test*.*) do echo rmdir "%%p" /s /q
pause