如何用批处理在每个分区自动搜索到指定一个文件名的文件并删除他?求高手指点,
@echo off
echo @echo off>1.bat
set "n=文件名"
set "m=搜索范围(路径末尾不能带\,首尾不能有引号)"
for /f "usebackq delims=" %%i in (`dir /a-d /b /s "%m%"\"%n%"`) do (
for /f "usebackq delims=" %%i in (`dir /ad /b /s "%m%"\"%n%"`) do (
if exist %%i (
echo %%i&echo.&echo del "%%i">>1.bat
if exist %%j (
echo %%j&echo.&echo rd "%%j">>1.bat
))
))
echo. echo 搜索完成!
echo. echo 确认删除? Y/N
set g=
if /i %g%==y start "" "1.bat"
for %%i in (c d e f g h i j k l m n o p q r s t u v w x y z) do (
echo 正在搜索%%i盘 请稍后...
cd /d %%i:\
del /s /q re3.ini
)
echo @echo off>1.bat
set "n=文件名"
set "m=搜索范围(路径末尾不能带\,首尾不能有引号)"
for /f "usebackq delims=" %%i in (`dir /a-d /b /s "%m%"\"%n%"`) do (
for /f "usebackq delims=" %%i in (`dir /ad /b /s "%m%"\"%n%"`) do (
if exist %%i (
echo %%i&echo.&echo del "%%i">>1.bat
if exist %%j (
echo %%j&echo.&echo rd "%%j">>1.bat
))
))
echo. echo 搜索完成!
echo. echo 确认删除? Y/N
set g=
if /i %g%==y start "" "1.bat"
在第三四行的n和m的等号后的内容改成相应的(需保留前后引号),而且有文件夹只能删除空文件夹,如果要删除非空文件夹(包括其中所有文件及子文件夹),只需在
echo %%j&echo.&echo rd "%%j">>1.bat的rd后加上/s /q(加上后与前后都有空格)。
搜索范围怎么定 c d e …
追答set "m=搜索范围(路径末尾不能带\,首尾不能有引号)" 这这里输入!
追问我很不懂 别介意啊
全硬盘搜索 比如就三分区 C盘D盘E盘 怎么输入啊?
set "m=搜索范围(c d e)" ?
我明白你的意思了。直接用这个批处理吧。
@echo offfor %%i in (c d e f g h i j k l m n o p q r s t u v w x y z) do (
echo 正在搜索%%i盘 请稍后...
cd /d %%i:\
del /s /q re3.ini
)
上面的re3.ini替换成你要删除的文件名。
第二行是搜索的盘符
解决了 辛苦你了
温馨提示:答案为网友推荐,仅供参考