批处理文件以搜索所有驱动器以查找特定文件并删除该文件



我试图使批处理文件找到一个文件(例如Raihan.txt)并删除它或强制删除它(如果它运行)。在本例中,我希望它搜索所有驱动器,包括USB驱动器.其实我对批处理编码不太了解,我在网上搜索了一下然后找到了问题是我不能搜索所有的驱动器. 我这里需要帮助。

@echo off
set file_to_delete=Raihan.txt
set dir_to_look_in=C:
:: Starting loop
for /f "tokens=1* delims=" %%f in ('dir /s /o /b "%dir_to_look_in%" ^| findstr "%file_to_delete%"') do (
echo INFO: Deleting: %%f
del /q "%%f"
)

我没有运行它,因为它甚至还没有完成,一个错误的移动和我将有大麻烦.

下面是一个例子

@echo off
set file_to_delete=Raihan.txt
:: Starting loop to search through all drives
for %%d in (A B 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 (
if exist "%%d:%file_to_delete%" (
echo INFO: Deleting: "%%d:%file_to_delete%"
del /q "%%d:%file_to_delete%"
)
)

这是另一个

@echo off
setlocal enabledelayedexpansion
set "file_name=Raihan.txt"
for /f "tokens=1-2" %%a in ('fsutil fsinfo drives ^| findstr /r "^[A-Z]:"' ) do (
if exist "%%a:%file_name%" (
echo Deleting "%%a:%file_name%"
del "%%a:%file_name%"
)
)
@echo off
setlocal enabledelayedexpansion
set "file=example.txt"
for %%i in (A B 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 (
if exist "%%i:" (
for /f "delims=" %%j in ('dir /s /b "%%i:%file%"') do (
set "filepath=%%j"
del "!filepath!"
echo !filepath! deleted
)
)
)
echo All instances of %file% have been deleted.
pause
endlocal

最新更新