年末の大掃除の時期なので、パソコンの中もお掃除したい(私もそろそろ始めます😊)
そんなWindows内のファイル整理作業に便利な小ワザを2つご紹介します。
複数のフォルダをZIP圧縮したい時、全てを選択すると1つのZIPファイルに固まってしまいます。
1フォルダ毎に別々のZIPファイルにする時には、1フォルダずつ個別に実行する必要があります。数個なら良いのですが、何十、何百フォルダを全て1つずつ圧縮する作業は大変です。
そこでWindowsのコマンドプロンプトを使って、選択したフォルダを全て1発で個別にZIP圧縮できるバッチの作成方法をご紹介します。
そのバッチファイルをWindowsの[Sendto]フォルダに登録しておけば、右クリックの「送る」から実行するだけです。
また、資料フォルダが入れ子になって、階層が深く難解な構成になってしまう事もありますよね。
これを一括で目視できると整理が捗ります。こちらもフォルダ構成を一括でテキストに書き出す方法をご紹介します。
複数フォルダを別々のZIPファイルに圧縮する方法
メモ帳を開き新規テキストファイルを作成し、コマンドを書き込みます。
@echo off set ZIP_PATH="C:\Program Files\7-Zip\7z.exe" for %%f in (%*) do ( %ZIP_PATH% a -tzip %%f.zip %%f ) exit /B 0
コード内のZIP_PATHは、ご自分のパソコン内のZIP圧縮できる実行ファイル(exe)のパスを、絶対パスで指定してください。私は、7-ZIPを使っています。
保存する時は、ファイルの種類を「すべてのファイル(*.*)」を選択、ファイル名を付けて拡張子「.bat」を指定して保存します。
ここでは分かりやすく「フォルダzip.bat」としておきます▼
これで個別に圧縮できるバッチファイルが完成です。
テスト実行
バッチファイルが正常に動作するか試してみます。
実行したいフォルダ内にバッチファイルを入れて、圧縮したいフォルダを複数選択します。
それを先ほど作ったバッチファイル「xxxx.bat」の上にドラッグ&ドロップ▼
個別のZipファイルが作成できれば成功▼
SendTo(送る)に登録
毎回バッチファイルを持って行くのは面倒なので、右クリックの「送る」に登録します。
エクスプローラーを起動して、アドレスバーに次の [パス] を入力してEnterキーを入力します。
shell:sendto
そこへバッチファイルを放り込みます▼
※ 基本的にSendToはショートカットを使って実行しますが、私は面倒なので直接batファイルを置いてます。
Zip圧縮したいフォルダを選択し、右クリックから「送る」>「バッチファイル.bat」をクリックして実行します▼
入れ子のフォルダを一括目視する方法
おまけにもう一つ、整理に便利なコマンドをご紹介します。
このバッチはを実行すると、指定したフォルダから下の階層が、全てツリー表示でテキストファイルに出力されます▼
コマンドはシンプルです。
コード内のファイル名「tree.txt」は自由で構いませんが、半角英数字で指定して下さい▼
tree /f > tree.txt
このバッチも拡張子「.bat」で保存します▼
確認したいフォルダ内にバッチファイルを置いて、ダブルクリックでコマンドを実行します。すると現在の階層以下のフォルダ, ファイル名が一括出力されます。
このバッチも簡単に出力できるよう↑のZIP圧縮のバッチファイルと同じように、WINDOWSのSendToフォルダに登録しておくと便利です。
どれか1つのフォルダかファイルを選択して右クリック>>「送る」>バッチファイル実行▼
実行すると、バッチファイル内で指定したファイル名のテキストが作成されます▼
パソコン内の面倒な作業を簡略化する2つの小ワザでした
追記:圧縮とツリー表示を一括で出力したいとのコメントを頂きましたので追加しておきます。
set ZIP_PATH=”C:\Program Files\7-Zip\7z.exe”
for %%f in (%*) do ( %ZIP_PATH% a -tzip %%f.zip %%f )
tree /f > tree.txt
exit /B 0
タカシ
最新記事 by タカシ (全て見る)
- ARグラスが最大69%OFF「100台限定!XREAL開発者製品ラストセール」を実施 - 2024年11月21日
はじめまして。
活用をさせて頂きたいのですが、zip化すると入れ子状態となり、zipの中にフォルダが存在する状態となるのですが、回避方法は存在するのでしょうか?
ご確認の程宜しくお願い致します。
>小太郎さん
フォルダなしで直接ZIP化はできません。
できれば直接ファイルをアーカイブ化したいですよね。
でもフォルダをZIP化するので、フォルダありきになってしまいます。
コメントありがとうございます。
とても有益な情報ありがとうございました。自分が困ってたことがまさに解決したので、良い年を迎えられそうです。
あと、おまけとして記載のあったツリー表示の追加とこの圧縮を一度にできるといいのですが、難しいでしょうか?
複数フォルダのツリー表示ができるだけでもかなり楽になるので、ご存じなら新しい記事などで教えていただきたいです。
やっすぅさん
コメントありがとうございます。
2つのコマンドを一緒にするだけで実行可能です。
記事の最後に付け加えておきます。
すぐにコメントと追記いただいていたのに、返信が遅くなりました。よい一年のスタートがきれそうです。ありがとうございました。これからめいっぱい活用させていただきます。
こんにちは。
探していた情報だったので非常に助かりました。
ただ、フォルダ名にスペースの入っているフォルダを対象にするとうまく動かないのですが、なにか対処法はありますでしょうか。
ご教授頂けると幸いです。
全角のスペースが入っていると変換できないですね
半角スペースだと大丈夫です。
コメントありがとうございます。
winRARを使っているんですが、一個圧縮するたびに
「不明なオプション”tzip”」
と出てしまいます。4行目の事だと思うんですが
どう変えればいいでしょうか
たすけてさん
「-t」オプションは「-tzip」のように明示的に圧縮形式を指定するオプションです。
Winrarでは使えないオプションなんですね。
その場合-tzipの部分だけを削除しても動きます。
上手く出来ました!
ありがとう
こんにちは。
探していた情報だったので非常に助かりました。
ただ、フォルダ名にスペースの入っているフォルダを対象にするとうまく動かないのですが、なにか対処法はありますでしょうか。
ご教授頂けると幸いです。
たすかったーありがとう~
とても有益な情報ありがとうございます。
欲を言えばzip化したフォルダの元フォルダを自動で削除したいなと思いましたがそれもバッチ処理で可能でしょうか?
zipの自動化 ありがとうございます。