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

时间:2016-04-13 08:48:53

标签: batch-file

del /s /q "C\:test\*.*"
for /d %%p in (C:\test\*.*) do rmdir "%%p" /s /q

这是我删除文件夹中的文件和子文件夹的代码。它有效,但我不知道每个命令的工作原理。所以我的问题是,第二行是什么意思?比如,%%p部分是什么,rmdir "%%p"部分是什么?

这是一个批处理文件。

2 个答案:

答案 0 :(得分:0)

for /d是迭代目录。%%p是for循环中使用的一种特殊变量 - 在这种情况下,它会将其值更改为c:\tests中的每个目录名。 do之后的部分表示为rmdir的每个值执行%%p(删除目录)。更多信息here

答案 1 :(得分:0)

如有疑问,请输入YourCommand /?

,查看每个命令的帮助

<强> Del /?

<强> RD /? or rmdir /?

<强> For /?

我添加了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