web-dev-qa-db-ja.com

Windowsバッチファイル7日付範囲を使用したZipアーカイブファイル

現在、古いバージョンのWinzipを使用して、過去24時間以内に作成または変更されたすべてのファイルをバックアップするバッチファイルを実行しています。私は多くのアーカイブに7Zipを使用しており、この目的で使用できるようにしたいと考えていますが、日付/タイムスタンプに基づいてファイルを選択できるスイッチがありません。タイムスタンプに基づいてファイルをディレクトリにコピーし、そこからアーカイブしたくありません。助言がありますか?

3
Gregg

http://ss64.com/nt/forfiles.html

そして

http://www.dotnetperls.com/7-Zip-examples ->

 forfiles  /c "7za a -t7z @fname.7z @file" /d -1
4
npocmaka

いくつかの研究で私はうまくいくはずの何かを思いついた...

forfiles  /c "cmd /c 7z u -t7z [setup an empty 7z file].7z @path" /d -1 /s
1
jay m

閉じますが、これらのスイッチを使用して1日より古いファイルをアーカイブします。これは、当日の構文です(出力ファイルに日付が追加されています:

set hr=%time:~0,2%
if "%hr:~0,1%" equ " " set hr=0%hr:~1,1%

Rem  - compress data that is from current day

forfiles /p "c:\<path of what to backup>" /d 0 /c "cmd /c C:\<Location of 7Zip>\7za u -tzip D:\<Where you want archive saved>\Archive_%date:~-4,4%%date:~-10,2%%date:~-7,2%_%hr%%time:~3,2%%time:~6,2%.Zip @PATH -mmt"
0
Glenn