[批次] 如何寫出一個刪除帶有關鍵字資料夾的批次檔?

看板EzHotKey作者 (探員型不型)時間16年前 (2010/02/22 14:45), 編輯推噓4(4010)
留言14則, 3人參與, 最新討論串1/1
我用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

02/23 12:49, , 1F
DEL "E:\_GSDATA_\*.*" /a/s/f
02/23 12:49, 1F

02/23 15:57, , 2F
謝謝.執行後卻是"-f 無效的參數"...=.=?
02/23 15:57, 2F

02/23 16:36, , 3F
(↑打錯指令打成dir),執行後,系統找不到執行的檔案
02/23 16:36, 3F

02/23 16:40, , 4F
改成del E:\_gsdata_ /a:h /s /f看來有用實際上卻沒效
02/23 16:40, 4F

02/23 22:02, , 5F
del /? 自己看說明
02/23 22:02, 5F

02/24 13:08, , 6F
喔看懂了,你的意思是在不知道哪個資料夾裡面會有_GSDATA_
02/24 13:08, 6F

02/24 13:09, , 7F
資料夾而不是_GSDATA_資料夾位置在E:\這樣嗎?
02/24 13:09, 7F

02/24 13:12, , 8F
如果是前者那可能需要用for去帶
02/24 13:12, 8F

02/24 13:19, , 9F
For /f "tokens=*" %a in ('Dir /a/b/s "e:\_gsdata_"'
02/24 13:19, 9F

02/24 13:19, , 10F
) do echo %a
02/24 13:19, 10F

02/24 13:20, , 11F
這樣會列出詳細路徑出來, ECHO %a 改成 DEL "%a\*.*"就是
02/24 13:20, 11F

02/24 13:21, , 12F
修正 DEL /A/F "%a\*.*" 這樣應該可以達到你要的目的
02/24 13:21, 12F

02/24 13:21, , 13F
但我建議先用echo %a去導出資訊之後再去刪可以避免誤刪情
02/24 13:21, 13F

02/24 13:21, , 14F
形出現
02/24 13:21, 14F
文章代碼(AID): #1BWYW023 (EzHotKey)
文章代碼(AID): #1BWYW023 (EzHotKey)