MiracleJobLogo
エンジニアのエンジニアによるエンジニアのためのサイト
News 07/19 おすすめ情報に 『 【資格取得者速報】 Aさん 「 Microsoft Security, Compliance, and Identity Fundamentals」 』 を追加しました。
会員登録するとキャリア診断やサイトに参加することができます。
あなたにおすすめな技術情報、資格、仕事などをお知らせします。

無料会員登録


パスワードを忘れた場合
LINEで送る
MiracleJobBanaLeft1
MiracleJobBanaLeft2


バッチ作成(ファイル圧縮)
profile-img
投稿者: thirumaさん
投稿日:2019/06/26 16:43
更新日:2019/06/26 16:44
like-img
分類
技術
テクノロジー
Windows系サーバ
キャリア
運用・保守 / テクニカルサポート / 構築 / 設計 / PL / PM
投稿内容


今回はファイル圧縮を自動化するバッチについて作成していきます。

 

 コマンドプロンプトではファイル圧縮の操作は標準搭載されておりません。

そのため、今回は別のソフトを使い、ファイル圧縮を行っていきます。

 

ファイル圧縮に使用するソフトは「7-zip」というソフトのコマンドライン版を

ダウンロードします。

7-zipはオープンソースのフリーソフトであり、導入の敷居が低いため採用させていただきました。

 

まずはこちらからダウンロードします。

https://sevenzip.osdn.jp/ 

 

その後、実際にバッチを作成していきます。

 

 set ZIP_PATH="C:\Users\thiruma\Desktop\7-Zip\7z.exe"

set base_dir1="C:\Users\thiruma\Desktop\bk\bk_201906"

set base_dir2="C:\Users\thiruma\Desktop\bk\bk_201906\*.xlsx"

 

下準備として

1.7-zip」のパスを「ZIP_PATH」として定義します。(7-zip」の拡張子は「.exe」です。)

2. 圧縮されたファイルの出力先を「base_dir1」として定義します。

3.圧縮元のファイルを「base_dir2」とします。(ファイルは「bk_201906」配下の「.xlsx

」フォルダを対象としています。)

 

メインとなる処理は以下のとおりです。

 

%ZIP_PATH% a -r -tzip -sdel %base_dir1% %base_dir2%

 

ZIP_PATH」を入力し、「7-zip」を起動します。

そして「base_dir1」に「base_dir2」の内容を圧縮しします。

 

7-zipのオプションについても説明していきます。

a」→圧縮

-r」→対象のフォルダ以下を全て圧縮する

-sdel」→圧縮元のファイルを削除する。

 

となっております。

 

では、実際にバッチを起動してみます。


実行前は「20190619進捗報告書」~「20190625進捗報告書」が格納されています。


バッチ実行後は・・・

圧縮ファイルが作成されたのが確認できました。

また、圧縮元のフォルダを確認すると・・・



ファイルが削除されたのが確認できました。



「バッチ作成(ファイルを指定したディレクトリにコピー)」で紹介したバッチを組み合わせてバックアップを作成→圧縮というルーティンにするのもおススメです

■バッチ作成(ファイルを指定したディレクトリにコピー

https://www.miraclejob.com/recommend/detail?cd=668


今回もご覧いただき、ありがとうございました。


■参考元

https://kiwamiden.com/how-to-make-a-batch-that-creates-zip-for-each-folder

https://memo.morelents.com/7zip-batch/

https://onlinepckan.net/tool/sevenzipcommandtechnique.html

コメント


MiracleJobBanaRight1
MiracleJobBanaRight2
MiracleJobBanaRight3