※記載していたソースコードを修正しました(2017年1月1日)
複数のファイルやフォルダをバッチファイルの上にドラッグ&ドロップしたら、1つずつ無圧縮のZIPに固める仕組みです。固めたZIPはバッチファイルと同じディレクトリに生成されます。
ええ、1つずつです。
複数のファイル(フォルダ)を纏めて1つのZIPにするんじゃなくて、1つずつZIPにします。
(纏めて1つのZIPにする方法は公式に例があります)
※使用するには、予め7-zipをインストールしておく必要があります。
下のソースコードをメモ帳に貼り付けて、適当な名前をつけて.bat形式で保存してください。
分かんなかったら「SevenZip_DandD.bat」とでも付けて保存してください。
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
@echo off | |
for %%f in (%*) do ( | |
C:\PROGRA~1\7-Zip\7z.exe a -tzip -mx0 "%%f.zip" "%%f" | |
) | |
pause |
「%ProgramFiles%\7-Zip」は、7z.exeが存在するディレクトリです。ご自分の環境に合わせて適宜変更してください。
上記のソースコードで動かない場合は、下を試してみてください。
(7z.exeのディレクトリは適宜変更してください)
なお、ファイル名やディレクトリ名に半角もしくは全角のスペースが入っていると圧縮に失敗していまいますので、ご注意ください。
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
@echo off | |
for %%f in (%*) do ( | |
"%ProgramFiles%\7-Zip\7z.exe" a -tzip -mx0 "%%f.zip" "%%f" | |
) | |
pause |
作成の際は公式のhowtoを参考にしました。
コマンドのオプションですが、下記のようになっている模様です。
-tzip = ZIP形式
-mx0 = 無圧縮
ちなみに、-tzipが-t7zだと7z形式になりますし、-mx0が-mx=9だと圧縮レベルが最大になります。
また、
場所やシチュエーション毎にフォルダ分けした写真を、フォルダ毎に圧縮したくて作ってみました。
汎用性があるのかは分かりませんが、お役に立てれば幸いです。
【2017年1月1日修正】
ソースコードの内容に余計なHTML(<span>など)が含まれておりました。
おそらく、ソースコードを記事中の直打ちから、GitHubからの転載に切り替えた際に入ってしまったものかと思われます。
誤った内容を記載してしまい、申し訳ございませんでした。