Batch file 如何删除名为“的所有文件夹”;样本;从目录和子文件夹?

Batch file 如何删除名为“的所有文件夹”;样本;从目录和子文件夹?,batch-file,rmdir,delete-directory,Batch File,Rmdir,Delete Directory,我正在寻找一个可以添加到我使用的批处理中的命令行 以下是我需要能够做到的: 假设我有一个目录: C:\Users\username\Videos 有一个子目录 C:\Users\username\Videos\test\sample C:\Users\username\Videos\test2\sample 我需要使用什么命令来删除这两个子目录中的示例文件夹,而不是test/test2文件夹 如果你知道一种使用RMDIR的方法,那就太好了,但如果不知道的话,我愿意接受这些想法。那么: for /

我正在寻找一个可以添加到我使用的批处理中的命令行

以下是我需要能够做到的:

假设我有一个目录:
C:\Users\username\Videos

有一个子目录

C:\Users\username\Videos\test\sample
C:\Users\username\Videos\test2\sample

我需要使用什么命令来删除这两个子目录中的示例文件夹,而不是test/test2文件夹

如果你知道一种使用RMDIR的方法,那就太好了,但如果不知道的话,我愿意接受这些想法。

那么:

for /f %i in ('dir /b/s/ad ^| findstr -I "\Sample$"') do rmdir %i
这将生成递归目录列表并筛选示例目录,然后获取列表并删除每个目录。如果要将其放入批处理文件中,则需要按如下方式将每%加倍:

for /f %%i in ('dir /b/s/ad ^| findstr -I "\Sample$"') do rmdir %%i
命令

dir/b/s/ad“C:\Users\username\Videos\sample”
将生成要删除的文件夹列表。现在,为了处理这个列表,我们将该命令包装在一个
for/f
命令中,该命令将对上一个命令的输出中的每一行执行目录删除命令

@echo关闭
setlocal enableextensions disabledelayedexpansion
对于/f“delims=”%%a in('
dir/b/s/ad“C:\Users\username\Videos\sample”
“)执行rd/s/q”%%a”
或者,从命令行使用它

对于/f“delims=”('dir/b/s/ad“C:\Users\username\Videos\sample“')中的%a执行rd/s/q“%a”
在这两种情况下,/f的
将迭代
dir
命令的输出行,将该行存储在其可替换参数
%a
中,并在
do
子句之后执行代码

for
命令的默认行为是使用空格和制表符作为分隔符来标记分隔输入行。要禁用此行为 使用了
delims=
子句:没有分隔符,只有一个标记包含整行