關於碟符裡某些資料夾刪除不了的解決方案研究

2021-09-21 09:14:41 字數 2366 閱讀 6302

電腦用久了,有時我們會發現碟符裡某些資料夾刪除不了的情況,究其原因有很多我們不**,我們要**的就是要怎樣把它乾掉:)

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這兩個命令應用的注意,做技術要注意細節,細節決定成敗非常有道理.

關於Windows下跨碟符移動資料夾的解決辦法

普遍用法 先copy再delete 建立出資料夾結構,呼叫file.move,刪除原來的資料夾結構 public class iofileoper if directory.exists targetfolder 得到源目錄的檔案列表,裡面是包含檔案以及目錄路徑的乙個陣列 string fileli...

刪除資料夾的檔案

儲存資料很多時候要儲存檔案,儲存檔案用路徑的形式檔案,就要把檔案儲存到你的專案裡,查詢時通過資料庫裡儲存的路徑訪問檔案 儲存了檔案就要刪除 查詢出資料庫的檔案路徑,提取資料庫的路徑,通過正則匹配 拼接出檔案所在路徑,然後刪除檔案 如果沒有where tbmarketactivity.marketac...

刪除不了的軟體 檔案或資料夾的解決方法

1 開機按f8不動,到高階選項出現在鬆開手,用上下鍵選安全模式,按照提示進入到安全模式中刪除即可 安全模式與正常模式操作一樣,我一般是用這個方法 2 刪除檔案建乙個批處理試試,桌面右鍵 新建 文字文件 或開啟記事本,把下面的命令複製後貼上進去 寫入下列命令 del f a q 1 rd s q 1 ...