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

问题描述 投票:2回答:2

我想创建一个批处理文件删除或删除文件夹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

请帮我解决一下这个。

windows batch-file cmd
2个回答
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命令,所以所有以它开头的行都在创建文件夹 - 最后一行是你的级别4AA的那一行)

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


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%
)
© www.soinside.com 2019 - 2024. All rights reserved.