平時專案開發中時常需要清理臨時編譯檔案,比如清理
obj檔案、
pdb檔案等,於是想寫乙個小工具實現這個功能。
要實現這個功能,要選擇合適的工具。首先想到使用批處理檔案是最好的實現方式。於是寫了個批處理檔案,**如下:
:: file: 清除臨時編譯檔案.bat
:: purpose: 清除臨時編譯檔案
:: author: zjc
:: time:2012.10.01
del *.map /s>>logs.txt>logs.txt
del *.trg /s>>logs.txt
del *.tlb /s>>logs.txt
del *.sym /s>>logs.txt
del *.vxd /s>>logs.txt
del *.386 /s>>logs.txt
del *.exp /s>>logs.txt
del *.pel /s>>logs.txt
del *.rsp /s>>logs.txt
del *.res /s>>logs.txt
del *.pdb /s>>logs.txt
del *.pch /s>>logs.txt
del *.sbr /s>>logs.txt
del *.bsc /s>>logs.txt
del *.plg /s>>logs.txt
del *.ncb /s>>logs.txt
del *.opt /s>>logs.txt
del *.aps /s>>logs.txt
del *.tmp /s>>logs.txt
del *.ilk /s>>logs.txt
del *.idb /s>>logs.txt
del *.sup /s>>logs.txt
del *.tlh /s>>logs.txt
del *.tli /s>>logs.txt
@for /f "delims=" %%i in ('dir *.obj /s /b^|find "\release\"') do del "%%i">>logs.txt
@for /f "delims=" %%i in ('dir *.obj /s /b^|find "\debug\"') do del "%%i">>logs.txt
@for /f "delims=" %%i in ('dir /s /b /ad^|find "\release"' ) do rd /q "%%i">>logs.txt
@for /f "delims=" %%i in ('dir /s /b /ad^|find "\debug"' ) do rd /q "%%i">>logs.txt
稍微解釋下這個程式,
del *.tli /s>>logs.txt 就是刪除tli為字尾的檔案,然後把它寫到日誌裡。
@for /f "delims=" %%i in ('dir *.obj /s /b^|find "\release\"') do del "%%i">>logs.txt 就是把release檔案下的obj檔案列出來然後刪除掉。
@for /f "delims=" %%i in ('dir /s /b /ad^|find "\release"' ) do rd /q "%%i">>logs.txt
就是迴圈刪除在release檔案下的上面指定字尾的檔案。
logs.txt 為生成的刪除檔案的日誌檔案,裡面記錄了已經刪除了的檔案。
這條批處理檔案的擴充套件方式是這樣的:如果你要增加乙個刪除字尾,就在del語句後面增加一行,如增加刪除htm檔案:del *.htm /s>>logs.txt。若要增加乙個obj檔案所在的檔案,就新增一行
@for /f "delims=" %%i in ('dir *.obj /s /b^|find "\release\"') do del "%%i">>logs.txt
將你的資料夾替換上面的\release\資料夾就行。
@for /f "delims=" %%i in ('dir /s /b /ad^|find "\debug"' ) do rd /q "%%i">>logs.txt
將你的資料夾替換上面的\debug資料夾就行。
乙個檔案處理的批處理
目錄c dat 有三個這樣的檔案,2008a.txt,2009b.txt,2008c.txt,其中2008是代表年份,可變的,後面的檔名不可變 我想實現這樣的操作 1.把dat下面所有的檔案的年份取出來,寫到year.txt檔案中,a 2008 b 2009 c 2008 2。然後把檔名的年份去掉變...
刪除多天以前的檔案批處理命令
前兩天專案支援的系統 ams prod dd p盤快滿了。找到原因是清理舊檔案的housekeeping job配置不正確,很多老檔案沒有被清理。因為磁碟空間一旦填滿整個程式就掛了,需要馬上加磁碟或者清理空間。嘗試用ps來查詢一段時間以前的檔案再移到另外的資料夾裡去,但是因為剩餘空間小執行的效果不好...
Windows下強制刪除檔案的批處理檔案
del f a q 1 rd s q 1 將上邊 另存為 bat檔案 將需要刪除的檔案向這個檔案上放,刪除需謹慎。另外在實際使用中可以在這兩條指令後加 nul,執行時將不顯示命令。解釋 del 刪除命令。f 強制刪除唯讀檔案。s 從所有子目錄刪除指定檔案。q 安靜模式。刪除全域性萬用字元時,不要求確...