需求:删除某个文件夹下重复的文件。例如文件名后带(1)(2)等等
脚本:
@echo off
rem 指定需要删除重复文件的目录。目录中不能有中文
set "dir=D:\Program Files (x86)\Tencent\WeChat Files\WeChat Files\wxid_uymfyk3nafnu22\FileStorage\File\2023-09"
:: 将目录下的所有文件名导入 src_file_name.txt 文件
for /r "%dir%" %%i in (*.*) do echo "%dir%\%%i" >> src_file_name.txt
:: 将删除的文件名导入 del_file_name.txt 文件,并计数
set /a cnt = 0
for /r "%dir%" %%i in (*"(1)".*) do ( echo "%dir%\%%i" >> del_file_name.txt
del /a /f /q "%%i"
set /a cnt+=1)
:: 不能直接删除)的这种,会误删
for /r "%dir%" %%i in (*"(2)".*) do ( echo "%dir%\%%i" >> del_file_name.txt
del /a /f /q "%%i"
set /a cnt+=1)
for /r "%dir%" %%i in (*"(3)".*) do ( echo "%dir%\%%i" >> del_file_name.txt
del /a /f /q "%%i"
set /a cnt+=1)
for /r "%dir%" %%i in (*"(4)".*) do ( echo "%dir%\%%i" >> del_file_name.txt
del /a /f /q "%%i"
set /a cnt+=1)
for /r "%dir%" %%i in (*"(5)".*) do ( echo "%dir%\%%i" >> del_file_name.txt
del /a /f /q "%%i"
set /a cnt+=1)
for /r "%dir%" %%i in (*"(6)".*) do ( echo "%dir%\%%i" >> del_file_name.txt
del /a /f /q "%%i"
set /a cnt+=1)
echo "The number of Deleted file: %cnt%" >> del_file_name.txt
timeout /t 2 >nul
说明:
指定一个目录(不能包含中文),生成两个记录文件,执行删除文件,最后2s后关闭
参考:文章来源:https://www.toymoban.com/news/detail-810289.html
bat脚本删除文件夹下的重复文件文章来源地址https://www.toymoban.com/news/detail-810289.html
到了这里,关于bat脚本删除文件夹下的重复文件的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!