如何通过批量读取文件使用通配符删除目录?

batch file

for /f "delims=" %%f in (7profiledeletelist.txt) do rd /s /q "%%f" PAUSE exit 

7profiledeletelist.txt

 C:\Users\1* C:\Users\2* C:\Users\3* C:\Users\4* C:\Users\5* C:\Users\6* C:\Users\7* C:\Users\8* C:\Users\9* C:\Users\M* C:\Users\T* 

阅读7profiledeletelist.txt文件后,bat文件不能删除任何内容。

如果我删除*并写出目录的确切名称,它运作良好。 我想删除用户目录中以MT1开头的所有文件夹,直到9

7profiledeletelist.txt批处理脚本如何更改以使其正常工作? 在批处理脚本中是否有错误的代码?

根据这个问答 , rmdir不接受通配符。 但是,发出以下命令:

for /D %f in (1*) do rmdir %f /s /q

删除从1开始的所有文件夹。

根据这个Q&A ,可以使用批量逐行读取文件。

rmdir_regex.bat

 @echo off for /f "tokens=*" %%a in (7profiledeletelist.txt) do ( for /D %%f in (%%a) do rmdir %%f /s /q )