最終変更日の期間に基づいてフォルダを圧縮し、後で削除する方法を探しています
構造は次のとおりです
Folder_1 01.01.2012 12:00
- sub1
- sub2
- file1
- file2
Folder_2 01.01.2012 12:02
...
Folder_20202 05.05.2012 03:00
今欲しいです:
- 今月より3か月古いすべてのフォルダを選択します(たとえば、現在が5月の場合、lastmodifiedは2月です)。重要な点は、-90日ではなく、月の最初から最後までを使用したいということです。
- 次に、選択したフォルダーをすべてのサブフォルダーとファイルとともに1つのfebruary2012.zipに圧縮します。
- (現在の)zipファイルのオリジナルを削除する
これまでの私の最善のアイデアは、forfiles.exe(1つの日付のみを取る)を使用し、生成された日付(3か月前の1日目で、より古い修飾子を使用)を使用してresultextfileを作成することです。次に、結果ファイルを7zip.exeのインポートとして使用し、ファイルをループして、後でフォルダーを削除します(パート2および3の場合、まだ機能するコードはありません)
- アップデート -
現在、私は次のことを実験しています。
FORFILES /P H:\Temp\2zip /M O* /D -31.4.2012 /C "cmd /c C:\Program Files (x86)\7-Zip\7z.exe a -t7z H:\temp\x2.zip @path
これは機能しているようですが、非常に遅いです(理由はマップされたドライブ-> 150MBの場合は3時間です)