1
2

More than 3 years have passed since last update.

[バッチ] 毎月の勤怠表のpw付きzip作成を自動で行う

Last updated at Posted at 2019-11-01

もくじ
https://qiita.com/tera1707/items/4fda73d86eded283ec4f

やりたいこと

月末に勤怠表を毎回数名分zipして、パスワードかけて、メールでおくらないといけない。
zipしてパスワードかけるのが地味に面倒なので、自動でやりたい。

やり方

フリーソフトの「7-zip」を使う。

前提

7-zipがインストールされていて、C:\Program Files\7-Zip\7z.exeに実行ファイルがあること。
7-zipは下記からダウンロードできる。
https://sevenzip.osdn.jp/

サンプル

サンプルでは、下記のようなことをしている。

  • 勤怠表ファイル名に付ける「〇月度」の〇をユーザーに入力させ、
  • そのファイル名で、人数分のxlsxを含めてパスワード付きzipを作る

※面倒なので固定パスワードにしてるが、本当はパスワードも入力させるべきかも。

勤怠表をパスワード付きでzipサンプル.bat
@echo off
chcp 932

rem 対象の勤怠ファイル
set TARGETEXCELFILE1=●●さん.xlsx
set TARGETEXCELFILE2=■■さん.xlsx

rem zipにかけるパスワード
set PASSWORD=password

rem 月の入力を受け付ける
echo 何月度の勤怠表ですか?
set /P INPUT_MONTH=

set ZIPFILE="勤怠表%INPUT_MONTH%月度.zip"
echo %INPUT_MONTH% 月度勤怠表をzipします。

rem 勤怠表をzip(パスワード付きzip)
echo %PASSWORD%| "C:\Program Files\7-Zip\7z.exe" a  %ZIPFILE% %TARGETEXCELFILE1% %TARGETEXCELFILE2% -p

rem 終わり
pause

今後

本当は、メールでエクセル表を送るのでメール作成~ファイル添付~送信も自動でやりたいのだが、そこまで手がでなかった。今後余裕があるときに調べる。

参考

7-zipのダウンローページ
https://sevenzip.osdn.jp/

7-Zipでの圧縮をコマンドプロンプトから実行!
https://www.lisz-works.com/entry/compression-7zip-command

1
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2