dos 批处理命令 删除指定后缀条件的文件

比如文件夹c:\test目录下有一些子文件夹,要求查找aaa后缀的文件有没有对应的bbb文件,如果没有则删除。比如某个子文件夹有1.aaa1.bbb2.bbb3.aaa,... 比如文件夹 c:\test 目录下有一些子文件夹,要求查找 aaa 后缀的文件有没有对应的 bbb文件,如果没有则删除。比如 某个子文件夹有 1.aaa 1.bbb 2.bbb 3.aaa ,则应该删除3.aaa
请问如何用dos批处理写命令?
学了一下午dos命令,我已经实现,如下

@echo off
setlocal enabledelayedexpansion
set /p v=请输入目标文件夹:
pushd %v%
set s=0
for /r %%i in (*.mp3) do (set n=%%~ni
::echo !n!
set m=%%~dpni.lrc
::echo !m!
set t=%%~dpni.*
if not exist !m! (del /f/q !t!
::echo !t!
set /a s=!s!+1)
)
echo 共删除!s!个MP3
展开
 我来答
百度网友1153044d1
2014-06-05 · TA获得超过183个赞
知道小有建树答主
回答量:302
采纳率:100%
帮助的人:255万
展开全部

问个问题,你这个条件是查找的范围是子目录一个目录下吗?

@echo off

cd test
for /r %%i in (.) do (
call:fun "%%i"
)
exit

:fun
cd %1
for /f "delims=" %%i in ('dir *.aaa /a-d /b') do (
if not exist "%%~ni.bbb" (del "%%~ni.aaa")
)
goto:eof

 

--

我就呵呵了,你会你还提问。浪费感情~

xq1850
推荐于2016-08-12 · TA获得超过3789个赞
知道大有可为答主
回答量:3155
采纳率:76%
帮助的人:1517万
展开全部
@echo off
setlocal enabledelayedexpansin
for /r c:\test %%a in (*.aaa) do (
set fn=%%~nxa
set fn=!fn:~0,-4!
dir /s /b c:\test\!fn!.bbb||del "%%~fa"
)
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式