我E:\HDD 中有n个资料夹 .
这n个资料夹中,每个都包含名为 A 和 B 及其他名称的资料夹.
请问如何可以批量 删除A 和 B以外的资料夹?
--------------------------------
希望得到结果如下:
E:\HDD\water\A
E:\HDD\water\B
E:\HDD\fire\A
E:\HDD\fire\B
E:\HDD\apple\A
E:\HDD\apple\B
E:\HDD\sing\A
E:\HDD\sing\B
........如此类推
滚吧你. 我说有n个资料夹 ,你用这方法删到你死那天吗?
追答你这人怎么说话呢,好心为你解决问题不采纳也就算了,还骂人,我哪里对不起你了,我难道不明白你的意思吗?我没看到那个n字吗?我是说在我所知道的范围内目前还没有这样的方法和软件可以可以做到你这点。只是选择性的给了你一个不是很快的参考方案,采纳不采纳是你的事,你可以置之不理,但我哪里得罪你了,你这样还有人敢帮你回答问题么?
PS:分数我有的是,难道还稀罕你这几分吗?看来我是太热心了,对你们。
你提供的方法是 智商小学一年级的都会, 你这样的一个回答有参考作用?
追答ok,被嘲讽了,算我对不起楼主好吧!但是奉劝楼主讲文明一点。
追问答非所问,还用弱智答案,是谁嘲讽谁在先?你认为我是弱智,所以要用弱智方法删到死吗? 文明有时候是要保留的。
rem 设定删除文件夹路径
set p="E:\HDD"
pushd %p%
dir /ad /s /b>%tmp%\tm.txt
for /f "tokens=*" %%i in ('findstr /v /i "\a$ \b$" %tmp%\tm.txt') do (
rem 下一句为调试查看是否能正确删除,实际使用时请删除下一句开头的echo命令.
echo rd /q /s "%%i"
)
del /q %tmp%\tm.txt
pause追问
tm.txt ??
追答tm.txt是临时文件.只是记录文件夹路径,供for命令解析.
setlocal enabledelayedexpansion
for /f %%a in ('dir /b E:\HDD') do (
set pa=%%a
for /f %%b in ('dir /b E:\HDD\!pa!|findstr/v "A B"') do rd E:\HDD\!pa!\%%b
)追问
试了,运行不了
追答@echo off
setlocal enabledelayedexpansion
for /f %%a in ('dir /b E:\HDD') do (
set pa=%%a
for /f %%b in ('"dir /b E:\HDD\!pa!|findstr/v "A B""') do rd E:\HDD\!pa!\%%b
)
抱歉,要加多两个引号
'"dir /b E:\HDD\!pa!|findstr/v "A B""'