如何使用批处理文件删除父文件夹中的特定子文件夹?

时间:2016-07-19 02:16:08

标签: windows batch-file cmd

我想创建一个批处理文件,删除或删除文件夹C:\temp\root\students\type1,其子文件夹和所有文件。

我拥有的文件夹和文件如下:

C:\temp
C:\temp\root
C:\temp\root\students
C:\temp\root\tutors
C:\temp\root\students\type1
C:\temp\root\students\type2
C:\temp\root\tutors\type1
C:\temp\root\tutors\type2
C:\temp\root\students\type1\details.txt
C:\temp\root\students\type1\assignment1
C:\temp\root\students\type1\assignment1\results.txt

批处理文件中指定了文件夹C:\temp\root\students\type1\assignment1

我想去一个文件夹/目录并删除或删除我的批处理文件(test.bat)中的C:\temp\root\students\type1

请帮助我。

2 个答案:

答案 0 :(得分:2)

使用此:

rd /s /q C:\temp\root\students\type1

它会递归删除文件和文件夹,请小心,不要提示。这是一个很好的老树木的替代品。最好的。

编辑:在您的记事本中,使用以下内容创建 mygoodbatch.bat

md C:\temp
md C:\temp\root
md C:\temp\root\students
md C:\temp\root\tutors
md C:\temp\root\students\type1
md C:\temp\root\students\type2
md C:\temp\root\tutors\type1
md C:\temp\root\tutors\type2
md C:\temp\root\students\type1\details.txt
md C:\temp\root\students\type1\assignment1
md C:\temp\root\students\type1\assignment1\results.txt
rd /s /q C:\temp\root\students\type1

md make dir dos命令,因此以它开头的所有行都在创建文件夹 - 最后一行是del级别4AA的行

将此批处理保存在磁盘的根目录上,然后运行它。我真的希望这就是你想要的。我还没有理解的是:你正在创建一个目录结构,同时排除4AA级......是吗?

答案 1 :(得分:1)

您可以使用for循环来获取给定文件夹的父文件夹:

set target_dir=C:\temp\root\students\type1.test\assignment1

for %%a in ("%target_dir%") do (
    echo Removing %%~dpa%
    rd /s/q %%~dpa%
)