作者willterous (探員型不型)
看板EzHotKey
標題[批次] 如何寫出一個刪除帶有關鍵字資料夾的批次檔?
時間Mon Feb 22 14:45:17 2010
我用GoodSync2Go.exe來備份我的資料到某顆外接硬碟(安裝檔名GoodSync-Setup-Portable.exe)
這軟體還算好用,還能自動判斷哪個磁區是外接硬碟(會自動設成以磁區標籤名稱為路徑),
但是有個小麻煩,就是使用這個軟體後,
那些要備份的資料夾內就會自動生成 _gsdata_ 這個關鍵字的資料夾(屬性為唯讀,隱藏),
而且裡面還會有個 _file_state._gs 和數個有日期的 *.log 紀錄檔
例如:
E:\a\_gsdata_\_file_state._gs *.log
E:\b\_gsdata_\_file_state._gs *.log
(測試幾次後發現是,這軟體在分析的時候會生成*.log的紀錄檔,
執行同步或備份的時候會生成 _file_state._gs )
(我要備份E磁區內的數個資料夾內的檔案)
我用
dir E:\_gsdata_ /a:h /s
可以正確顯示出E磁區的幾個資料夾內有 _gsdata_ 關鍵字的資料夾(沒有a:h這個屬性的
話會"找不到資料夾")
但是我想建立一個批次檔來同時刪除數個資料夾裡的 _gsdata_ 這個資料夾
用
del E:\_gsdata_ /a:h /s
卻沒用,請問該怎麼寫才對?
如果無法刪除 _gsdata_ 這個資料夾,寫成"刪除這裡面的檔案"也可(反正再執行這個軟體
又會自動生成)
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 123.204.86.210
1F:推 junorn:DEL "E:\_GSDATA_\*.*" /a/s/f 02/23 12:49
2F:→ willterous:謝謝.執行後卻是"-f 無效的參數"...=.=? 02/23 15:57
3F:→ willterous:(↑打錯指令打成dir),執行後,系統找不到執行的檔案 02/23 16:36
4F:→ willterous:改成del E:\_gsdata_ /a:h /s /f看來有用實際上卻沒效 02/23 16:40
5F:→ hpo14:del /? 自己看說明 02/23 22:02
6F:推 junorn:喔看懂了,你的意思是在不知道哪個資料夾裡面會有_GSDATA_ 02/24 13:08
7F:→ junorn:資料夾而不是_GSDATA_資料夾位置在E:\這樣嗎? 02/24 13:09
8F:推 junorn:如果是前者那可能需要用for去帶 02/24 13:12
9F:推 junorn:For /f "tokens=*" %a in ('Dir /a/b/s "e:\_gsdata_"' 02/24 13:19
10F:→ junorn:) do echo %a 02/24 13:19
11F:→ junorn:這樣會列出詳細路徑出來, ECHO %a 改成 DEL "%a\*.*"就是 02/24 13:20
12F:→ junorn:修正 DEL /A/F "%a\*.*" 這樣應該可以達到你要的目的 02/24 13:21
13F:→ junorn:但我建議先用echo %a去導出資訊之後再去刪可以避免誤刪情 02/24 13:21
14F:→ junorn:形出現 02/24 13:21