7zのコマンドリファレンスは7z Manager(GUI)からヘルプをたどると参照できます。
準備
pathを通しておきます。
rem GUIのインストーラでインストールした場合
set ZIPPER_HOME=C:Program Files7-Zip
rem Chocolatey経由でインストールした場合
set ZIPPER_HOME=C:ProgramDatachocolateybin
path set path=%PATH%;%ZIPPER_HOME%
永続的に通すには、環境変数に追記する必要があります。
基本編
ファイル名はフルパスでも指定できます。
超基本
7z a (ファイル名).zip
カレントの下位ディレクトリを含める
7z a (ファイル名).zip -r .
カレントの下位ディレクトリを含め、特定のディレクトリを除外
7z a (ファイル名).zip -r . -xr!TEMP -xr!obj
カレントの下位ディレクトリを含め、特定のファイルを除外
7z a (ファイル名).zip -r . -x!*.zip -x!*.exe -x!*.dll
応用編
カレントの下位ディレクトリを含め、AES256で暗号化 -p以降がパスフレーズ
7z a (ファイル名).zip -r . -mem=AES256 -ssw -pPassPhrase
カレントの下位ディレクトリを含め、1000MBずつ分割
7z a -v1000m (ファイル名).zip -r .
バッチ化
カレントの下位ディレクトリを含め、除外あり、日付指定で圧縮
snapshot.bat
echo start
set ZIPPER_HOME=C:Program Files7-Zip
path set path=%PATH%;%ZIPPER_HOME%
for /F "tokens=1-3 delims=/" %%D in ("%date%") do set y=%%D&set m=%%E&set d=%%F
7z a bak%y%%m%%d%.zip -r . -xr!TEMP -xr!obj -x!*.zip -x!*.exe -x!*.dll
echo end
TIMEOUT /T 5
これをなんらかの作業フォルダに(例えばエクセルファイルなど)置いて走らせると、取りあえずのスナップショットが取れます。変更履歴やgitで管理とう手法も便利なのですが、こういうやり方もなかなか原始的でわかりやすいのではないかと(笑)
あ、目的のファイルが作業中だとエラーになるので一旦閉じたほうがいいかも。
参考
7-zip -OSDN
https://sevenzip.osdn.jp/chm/cmdline/