web-dev-qa-db-ja.com

フォルダ名にワイルドカードを使用してx日より古いフォルダを削除する

30日後にdailyという名前で始まるすべてのフォルダーとその内容を削除し、365日後にmonthlyという名前で始まるすべてのフォルダーを削除する必要があります。残念ながら、日次バックアップと月次バックアップは同じフォルダにある必要があります。
これが私が使おうとしているスクリプトですが、ワイルドカードが好きではありません。助言がありますか?

forfiles -p u:\backups\daily* -d 30 -c "cmd /c IF @isdir == TRUE rd /S /Q @path"
forfiles -p u:\backups\monthly* -d 365 -c "cmd /c IF @isdir == TRUE /rd /S /Q @path"
1
Eric Atwood

Matchパラメーターを使用する必要があります。

 forfiles -p u:\backups -m daily* -d 30 -c "cmd /c IF @isdir == TRUE rd /S /Q @path"
 forfiles -p u:\backups -m monthly* -d 365 -c "cmd /c IF @isdir == TRUE /rd /S /Q @path"
2
shawn