标题: [已解决]如何批量同时删除扩展名为.xxx和.xx_的文件
[打印本页]
作者: suntb
时间: 2008-3-4 17:59
标题: [已解决]如何批量同时删除扩展名为.xxx和.xx_的文件
批处理中遇到一个问题
a.txt中含要处理的文件列表,扩展名为3个不固定字符,即格式为.xxx,如
2142.txt
sdlf.exe
f2w0.chm
..........
如何同时删除当前文件夹中文件名相同但扩展名分别为.xxx和.xx_的文件
即删除
2142.txt
sdlf.exe
f2w0.chm
..........
的同时还要删除
2142.tx_
sdlf.ex_
f2w0.ch_
..........
[ Last edited by suntb on 2008-3-5 at 01:16 PM ]
作者: pooronce
时间: 2008-3-4 18:08
for /f "tokens=1" %%i in (a.txt) do call :delp %%i
goto :eof
:delp
set fname=%%i
del %fname%
del %fname:~0,-1%_
作者: suntb
时间: 2008-3-4 23:45
Originally posted by pooronce at 2008-3-4 18:08:
for /f "tokens=1" %%i in (a.txt) do call :delp %%i
goto :eof
:delp
set fname=%%i
del %fname%
del %fname:~0,-1%_
找不到 E:\%i
找不到 E:\%_
作者: fastslz
时间: 2008-3-5 00:01
@echo off
for /f "tokens=*" %%i in (a.txt) do call :delp "%%i"
pause&exit
:delp
set "fname=%~1"
del /q "%fname%"
del /q "%fname:~0,-1%_"
@echo off
setlocal enabledelayedexpansion
for /f "delims=*" %%i in (a.txt) do (
set "fname=%%i"
del /q "!fname!"
del /q "!fname:~0,-1!_"
)
pause
作者: pooronce
时间: 2008-3-5 10:48
Originally posted by fastslz at 2008-3-5 12:01 AM:
[code]@echo off
for /f "tokens=*" %%i in (a.txt) do call :delp "%%i"
pause&exit
:delp
set "fname=%~1"
del /q "%fname%"
del /q "%fname:~0,-1% ...
就是不想麻烦去延迟来着,那个词儿太长了 xD
居然调用参数还写的%%i ,脑子糊了我-__-##
作者: suntb
时间: 2008-3-5 12:33
谢谢 fastslz 和 pooronce
对变量延迟还不熟悉 麻烦你们了
代码测试通过