zoukankan      html  css  js  c++  java
  • [批处理]强制删除文件及文件夹

    电脑上经常会有无法删除的文件及其文件夹

    比如损坏文件夹,畸形文件夹,含有系统名称的文件夹,含有权限的文件夹,或正在使用的文件夹

    所以就做了个这么玩意,可以强制删除文件夹

    1,比如这个带点的文件夹显示无法删除

    那么拖进来。可以直接删除掉的

    2、再看这个文件夹,带有权限的文件夹,一般情况下是根本无法访问的,就更别说删除了

    一样拖过来看看照样可以删除掉

     

    还有就是有很多里面有文件被正在使用而导致的无法删除

    这个问题在CMD下不知道该怎么弄,没找到相应的命令

    批处理代码,保存为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 失败
    View Code

    ——原文发表于2010-6-4 21:39

  • 相关阅读:
    团队贡献分汇总
    【Gamma】Scrum Meeting 1
    【Beta】测试报告
    【Beta】发布说明
    【技术博客】JWT的认证机制Django项目中应用
    Daily Scrumming* 2015.12.17(Day 9)
    Daily Scrumming* 2015.12.16(Day 8)
    Daily Scrumming* 2015.12.15(Day 7)
    Daily Scrumming* 2015.12.13(Day 5)
    Daily Scrumming* 2015.12.12(Day 4)
  • 原文地址:https://www.cnblogs.com/xxcanghai/p/4583768.html
Copyright © 2011-2022 走看看