代码是什么意思?(删除包含批处理文件的文件夹中的文件和子文件夹)


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

最新更新