bat 删除文件脚本 拖动到bat删除

264 阅读2分钟

bat 删除文件脚本 拖动到bat删除

DEL /F /A /Q \\?\%1
RD /S /Q \\?\%1

在桌面新建txt文件 将代码写入 保存 修改后缀为bat 将要删除的文件拖动到该bat上 直接删除

下面是第二种

@echo off
setlocal enabledelayedexpansion
echo 把要删除的文件或文件夹拖动到此处
set /p name=
set name=%name:"=%
:0
cls
echo 请选择要使用的删除模式
echo 1,快速删除模式(推荐)
echo 2,磁盘文件系统修复模式
set ans=n&set /p ans=请选择:
if %ans%==1 goto 1
if %ans%==2 goto 2
goto 0


:1
echo ===============================================
echo →删除文件夹模式:
rd "\\?\%name%" /s /q>nul
if %ERRORLEVEL%==0 (if EXIST "%name%" (echo ==失败==) else echo ==成功==&goto end) else  echo ==失败==
echo.

echo →删除文件模式:
del /f /s /q /a "\\?\%name%">nul
if %ERRORLEVEL%==0 (if EXIST "%name%" (echo ==失败==) else echo ==成功==&goto end) else  echo ==失败==
echo.
echo ===================
echo 快速删除模式失败,正在使用完全删除模式...

echo ===============================================
echo →正在构建目标的ACL访问权限控制表...
cacls "\\?\%name%" /e /c /p %username%:f
echo.

echo →正在清除目标的所有属性...
attrib "%name%" -h -s -a -r /s /d
echo.

echo →重试删除文件夹模式:
rd "\\?\%name%" /s /q>nul
if %ERRORLEVEL%==0 (if EXIST "%name%" (echo ==失败==) else echo ==成功==&goto end) else  echo ==失败==
echo.

echo →重试删除文件模式:
del /f /s /q /a "\\?\%name%">nul
if %ERRORLEVEL%==0 (if EXIST "%name%" (echo ==失败==) else echo ==成功==&goto end) else  echo ==失败==
echo.
echo ===================
echo 删除失败,如果不是因为正在使用而导致的可以尝试使用模式2
pause>nul&goto 0




:2
echo ===============================================

echo 如果是由于文件系统的原因而导致的无法删除可以用CHKDSK来修复磁盘错误,修复完成后即可正常删除文件。
echo 是否用使用CHKDSK命令来修复磁盘错误?[是:Y \ 否:任意键]
set ans=n&set /p ans=
if /i %ans%==y for /f %%i in ("%name%") do chkdsk %%~di /f /r /x
:end
echo END&pause>nul
exit

errorlevel:0 成功 1 失败

用法一样