关于盘符里某些文件夹删除不了的解决方案研究
生活随笔
收集整理的這篇文章主要介紹了
关于盘符里某些文件夹删除不了的解决方案研究
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
電腦用久了,有時我們會發現盤符里某些文件夾刪除不了的情況,究其原因有很多我們不探討,我們要探討的就是要怎樣把它干掉:) 1:網上有很多文件夾粉碎工具,如冰仞等,處理的干凈利落,效果很不錯. 2:其實還可以用檢查盤符的命令把當前的盤符檢查一遍,若某些文件夾有點錯誤,系統會自動修復,我試過有些文件夾修復之后就可以正常刪除了 3:網上流傳用這個批處理來做刪除效果也不錯,但也不能亂用,某些情況下會出大問題. 使用方法就是把下面這兩個命令保存成一個后綴名為BAT的文件,然后把刪除不掉的文件夾手動拖拽到此BAT文件上面你會發現此文件夾被刪除掉了. DEL /F /A /Q?\\?\%1 RD /S /Q?\\?\%1 關于以上簡單刪除方法我們來理解它的意思,看后面參數就知道這個命令怎么用了,不用我多說 del是刪除文件的?
rd是刪除空目錄(文件夾)的 windows的命名約定中,路徑組合的長度為260字節,但也提供了超長路徑的統一訪問支持,那就是添加可擴展UNC路徑\\?\前輟的絕對路徑,以便達到最大路徑字節32767?
\\?\表示了當前電腦的根目錄,而各磁盤分區如同在資源管理器中那樣,是處于我的電腦之下一階當中的?\\?\在命令行中無法直接執行文件或切換目錄,但大多數內部命令都可以支持這樣的路徑?
至于%1 是自身的意思!???
UNC的一個本地化特例。?
?\可以理解成遍歷,?是統配符,表示匹配0個或1個任意字符。?
.\代表本地節點,在概念上來有點像磁盤根目錄,也可以說成是計算機根目錄。?
所以dir \\.\C:\是可以被命令行解釋器識別的,更可以跨盤符的來使用絕對路徑引用,例如: F:\>\\.\C:\windows\system32\cmd.exe 經過我測試應用發現,如果你要刪除的文件夾的名稱里對含有"^或 & 或^&組合字符"進行刪除將導致當前盤所有文件丟失非常危險,非常有意思的一點如果文件夾的名稱里有&^把這兩個特殊的字符倒換一下,竟然刪除不了,奇怪的是如果文件夾名稱里包含#$@%這樣特殊字符刪除都不會有問題,偏偏系統對^&這兩個字符感冒,所以不怕一萬就怕萬一,如果你把這個BAT告訴你的朋友這樣可以刪除畸形的文件夾,萬一這個文件夾的名稱里包含有"^或 & 或^&組合字符"你就暈了,當前盤里的所有數據一下全都給刪除掉了.為了防止以上狀況出現,我們可以改進一下這個批處理文件,先做判斷這個畸形的文件夾的名稱里有沒有包含"^或 & 或^&組合字符"有的話給出提示告訴用戶不可以這樣操作,終止刪除的操作,沒有的話就可以正常刪除,這樣我們就可以做到萬無一失了. @echo off?
if not "%~n1"=="" if not exist "%~f1" goto OK?
if not "%~n1"=="" if exist "%~f1" goto OK?
title warning:危險操作?
cls?
mode con cols=80 lines=15 & color 9c?
@echo.?
@echo??? 你當前的畸形文件夾名稱里含有"^ & 或^&組合字符"進行刪除將導致當前整個盤符里所有文件丟失,?
@echo??? 你應該用其它方法避免此操作.?
@echo.?
@echo??????????????????????????????????????????????? DIY BY:allan?
@echo.?
pause >nul? 2>nul echo?
goto eof?
:OK?
set word="%~n1"?
if "%word:~1,1%"=="&" goto NOT?
if "%word:~1,2%"=="^&" goto NOT?
del /f /a /q \\?\%1 >nul 2>nul?
rd /s /q \\?\%1 >nul 2>nul?
echo?
goto eof?
:NOT?
title warning:危險操作 mode con cols=80 lines=15 & color 9c?
@echo.?
@echo??? 你當前的畸形文件夾名稱里含有"^ & 或^&組合字符"進行刪除將導致當前整個盤符里所有文件丟失,?
@echo??? 你應該用其它方法避免此操作.?
@echo.?
@echo??????????????????????????????????????????????? DIY BY:allan?
@echo.?
pause >nul? 2>nul 這里就只說這么多,可能大家還有更多的好方法歡迎分享,我寫這篇的目的就是引起大家對DEL和RD這兩個命令應用的注意,做技術要注意細節,細節決定成敗非常有道理.
? ? ?本文轉自allanhi 51CTO博客,原文鏈接:http://blog.51cto.com/allanfan/265874,如需轉載請自行聯系原作者
rd是刪除空目錄(文件夾)的 windows的命名約定中,路徑組合的長度為260字節,但也提供了超長路徑的統一訪問支持,那就是添加可擴展UNC路徑\\?\前輟的絕對路徑,以便達到最大路徑字節32767?
\\?\表示了當前電腦的根目錄,而各磁盤分區如同在資源管理器中那樣,是處于我的電腦之下一階當中的?\\?\在命令行中無法直接執行文件或切換目錄,但大多數內部命令都可以支持這樣的路徑?
至于%1 是自身的意思!???
UNC的一個本地化特例。?
?\可以理解成遍歷,?是統配符,表示匹配0個或1個任意字符。?
.\代表本地節點,在概念上來有點像磁盤根目錄,也可以說成是計算機根目錄。?
所以dir \\.\C:\是可以被命令行解釋器識別的,更可以跨盤符的來使用絕對路徑引用,例如: F:\>\\.\C:\windows\system32\cmd.exe 經過我測試應用發現,如果你要刪除的文件夾的名稱里對含有"^或 & 或^&組合字符"進行刪除將導致當前盤所有文件丟失非常危險,非常有意思的一點如果文件夾的名稱里有&^把這兩個特殊的字符倒換一下,竟然刪除不了,奇怪的是如果文件夾名稱里包含#$@%這樣特殊字符刪除都不會有問題,偏偏系統對^&這兩個字符感冒,所以不怕一萬就怕萬一,如果你把這個BAT告訴你的朋友這樣可以刪除畸形的文件夾,萬一這個文件夾的名稱里包含有"^或 & 或^&組合字符"你就暈了,當前盤里的所有數據一下全都給刪除掉了.為了防止以上狀況出現,我們可以改進一下這個批處理文件,先做判斷這個畸形的文件夾的名稱里有沒有包含"^或 & 或^&組合字符"有的話給出提示告訴用戶不可以這樣操作,終止刪除的操作,沒有的話就可以正常刪除,這樣我們就可以做到萬無一失了. @echo off?
if not "%~n1"=="" if not exist "%~f1" goto OK?
if not "%~n1"=="" if exist "%~f1" goto OK?
title warning:危險操作?
cls?
mode con cols=80 lines=15 & color 9c?
@echo.?
@echo??? 你當前的畸形文件夾名稱里含有"^ & 或^&組合字符"進行刪除將導致當前整個盤符里所有文件丟失,?
@echo??? 你應該用其它方法避免此操作.?
@echo.?
@echo??????????????????????????????????????????????? DIY BY:allan?
@echo.?
pause >nul? 2>nul echo?
goto eof?
:OK?
set word="%~n1"?
if "%word:~1,1%"=="&" goto NOT?
if "%word:~1,2%"=="^&" goto NOT?
del /f /a /q \\?\%1 >nul 2>nul?
rd /s /q \\?\%1 >nul 2>nul?
echo?
goto eof?
:NOT?
title warning:危險操作 mode con cols=80 lines=15 & color 9c?
@echo.?
@echo??? 你當前的畸形文件夾名稱里含有"^ & 或^&組合字符"進行刪除將導致當前整個盤符里所有文件丟失,?
@echo??? 你應該用其它方法避免此操作.?
@echo.?
@echo??????????????????????????????????????????????? DIY BY:allan?
@echo.?
pause >nul? 2>nul 這里就只說這么多,可能大家還有更多的好方法歡迎分享,我寫這篇的目的就是引起大家對DEL和RD這兩個命令應用的注意,做技術要注意細節,細節決定成敗非常有道理.
? ? ?本文轉自allanhi 51CTO博客,原文鏈接:http://blog.51cto.com/allanfan/265874,如需轉載請自行聯系原作者
總結
以上是生活随笔為你收集整理的关于盘符里某些文件夹删除不了的解决方案研究的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 被指控薪酬过高,特斯拉董事会返还 7.3
- 下一篇: 索尼 PS Plus 游戏 7 月阵容: