使用 TXT 列表删除具有不同扩展名的多个文件
Deleting multiple files with different extensions using TXT list
我需要从已有扩展名类型的列表中删除多个同名但扩展名不同的文件。
我有一个批处理程序可以在文件中查找字符串并生成结果文本
@echo off
findstr /m "1090 FF" *.info > results.txt
if %errorlevel%==0 (
echo Found! logged files into results.txt
) else (
echo No matches found
)
这将创建扩展名为 .info 的文件列表。然后我需要获取该列表并删除所有包含文件列表的文件,但我需要删除所有带有它的同级文件。
example:
12345.info (in my list to del)
12345.cpr (need to del)
12345.emf (need to del)
12345.obj (need to del)
12345.timb (need to del)
我试过使用它,但它只删除了 .info 文件扩展名:
@echo off
REM Delete files/folders specified in a newline delimited txt file list.
set "default_list_path=C:\Users\%USERNAME%\Desktop\SAD_FF bat\results.txt"
if not "%~2"=="" echo Error: unexpected arguments& exit /b
if not "%~1"=="" ( set "list=%1" ) else (
set "list=%DEFAULT_LIST_PATH%"
)
if not exist "%LIST:"=%" echo Error: list could not be found& exit /b
set /a delete_counter=0
for /f "delims=" %%I in ('type "%LIST:"=%"') do (
if exist "%%~fI" (
set /a delete_counter+=1
if exist "%%~fI"\* (
rd /s /q "%%~fI"
) else (
del /q "%%~fI.*"
)
) else (
echo No such path "%%~I".
)
)
echo.& echo %DELETE_COUNTER% files or folders were deleted.
我可以增加后面的代码以删除所有同级文件吗??欢迎所有建议!!
尝试改变
del /q "%%~fI.*"
到
echo del /q "%%~dpnI.*"
所需的 DEL 命令仅 ECHO
ed 用于测试目的。 确认命令正确后,将ECHO DEL
更改为DEL
以实际删除文件。
我需要从已有扩展名类型的列表中删除多个同名但扩展名不同的文件。
我有一个批处理程序可以在文件中查找字符串并生成结果文本
@echo off
findstr /m "1090 FF" *.info > results.txt
if %errorlevel%==0 (
echo Found! logged files into results.txt
) else (
echo No matches found
)
这将创建扩展名为 .info 的文件列表。然后我需要获取该列表并删除所有包含文件列表的文件,但我需要删除所有带有它的同级文件。
example:
12345.info (in my list to del)
12345.cpr (need to del)
12345.emf (need to del)
12345.obj (need to del)
12345.timb (need to del)
我试过使用它,但它只删除了 .info 文件扩展名:
@echo off
REM Delete files/folders specified in a newline delimited txt file list.
set "default_list_path=C:\Users\%USERNAME%\Desktop\SAD_FF bat\results.txt"
if not "%~2"=="" echo Error: unexpected arguments& exit /b
if not "%~1"=="" ( set "list=%1" ) else (
set "list=%DEFAULT_LIST_PATH%"
)
if not exist "%LIST:"=%" echo Error: list could not be found& exit /b
set /a delete_counter=0
for /f "delims=" %%I in ('type "%LIST:"=%"') do (
if exist "%%~fI" (
set /a delete_counter+=1
if exist "%%~fI"\* (
rd /s /q "%%~fI"
) else (
del /q "%%~fI.*"
)
) else (
echo No such path "%%~I".
)
)
echo.& echo %DELETE_COUNTER% files or folders were deleted.
我可以增加后面的代码以删除所有同级文件吗??欢迎所有建议!!
尝试改变
del /q "%%~fI.*"
到
echo del /q "%%~dpnI.*"
所需的 DEL 命令仅 ECHO
ed 用于测试目的。 确认命令正确后,将ECHO DEL
更改为DEL
以实际删除文件。