【发布时间】:2016-04-13 08:48:52
【问题描述】:
del /s /q "C\:test\*.*"
for /d %%p in (C:\test\*.*) do rmdir "%%p" /s /q
这是我删除文件夹中的文件和子文件夹的代码。它有效,但我不明白每个命令的工作原理。所以我的问题是,第二行是什么意思?比如,%%p 部分是什么,rmdir "%%p" 部分是什么?
这是一个批处理文件。
【问题讨论】:
标签: batch-file
del /s /q "C\:test\*.*"
for /d %%p in (C:\test\*.*) do rmdir "%%p" /s /q
这是我删除文件夹中的文件和子文件夹的代码。它有效,但我不明白每个命令的工作原理。所以我的问题是,第二行是什么意思?比如,%%p 部分是什么,rmdir "%%p" 部分是什么?
这是一个批处理文件。
【问题讨论】:
标签: batch-file
for /d 用于迭代目录。%%p 是用于 for 循环的一种特殊类型的变量 - 在这种情况下,它会将其值更改为 c:\tests 中的每个目录名称。 do 之后的部分意味着对%%p 的每个值执行rmdir(删除目录)。更多信息here
【讨论】:
如有疑问,您应该输入YourCommand /? 来查看每个命令的帮助:
我添加了一个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
【讨论】: