ファイルやフォルダをドラッグ&ドロップしたら1つずつ無圧縮のZIPにするバッチファイル

2016年9月14日
7-zip(圧縮・解凍ソフト)を利用したバッチファイルです。

※記載していたソースコードを修正しました(2017年1月1日)

複数のファイルやフォルダをバッチファイルの上にドラッグ&ドロップしたら、1つずつ無圧縮のZIPに固める仕組みです。固めたZIPはバッチファイルと同じディレクトリに生成されます。

ええ、1つずつです。

複数のファイル(フォルダ)を纏めて1つのZIPにするんじゃなくて、1つずつZIPにします。
(纏めて1つのZIPにする方法は公式に例があります)



※使用するには、予め7-zipをインストールしておく必要があります。


下のソースコードをメモ帳に貼り付けて、適当な名前をつけて.bat形式で保存してください。
分かんなかったら「SevenZip_DandD.bat」とでも付けて保存してください。

@echo off
for %%f in (%*) do (
C:\PROGRA~1\7-Zip\7z.exe a -tzip -mx0 "%%f.zip" "%%f"
)
pause
view raw gistfile1.txt hosted with ❤ by GitHub

%ProgramFiles%\7-Zip」は、7z.exeが存在するディレクトリです。ご自分の環境に合わせて適宜変更してください。
上記のソースコードで動かない場合は、下を試してみてください。
(7z.exeのディレクトリは適宜変更してください)


なお、ファイル名やディレクトリ名に半角もしくは全角のスペースが入っていると圧縮に失敗していまいますので、ご注意ください。

@echo off
for %%f in (%*) do (
"%ProgramFiles%\7-Zip\7z.exe" a -tzip -mx0 "%%f.zip" "%%f"
)
pause
view raw gistfile1.txt hosted with ❤ by GitHub


作成の際は公式のhowtoを参考にしました。

コマンドのオプションですが、下記のようになっている模様です。

-tzip = ZIP形式
-mx0 = 無圧縮

ちなみに、-tzipが-t7zだと7z形式になりますし、-mx0が-mx=9だと圧縮レベルが最大になります。


また、


場所やシチュエーション毎にフォルダ分けした写真を、フォルダ毎に圧縮したくて作ってみました。
汎用性があるのかは分かりませんが、お役に立てれば幸いです。



【2017年1月1日修正】
ソースコードの内容に余計なHTML(<span>など)が含まれておりました。
おそらく、ソースコードを記事中の直打ちから、GitHubからの転載に切り替えた際に入ってしまったものかと思われます。
誤った内容を記載してしまい、申し訳ございませんでした。