7Zipを使ったファイルの解凍・圧縮【Windows コマンドプロンプト】
はじめに
複雑なインストールも不要でお世話になっている7Zip。複数の方法がありますが、あくまで自分がよくバッチに組み込んで使う方法です。
7Zipのダウンロード
下記ページリンクより。ダウンロード後解凍して使用可。
ダウンロード | 7-Zip
①解凍例
圧縮したフォルダから任意のファイルのみを解凍したい場合。
C:\7-zip\7za.exe e -y -o<出力先パス> -ir!<取り出したいファイル名> <ZIP名>
C:\7-zip\7za.exe:ダウンロード・解凍した7za.exeのフルパス例。
e:解凍コマンド(フォルダ構成反映なし)
-y:Yes/Noは全部Yes
-o:このオプションに続けてスペースを空けずに<出力先パス>記入
-ir!:スペース空けずに<取り出したいファイル名>を指定※ワイルドカード可
<ZIP名>:フォルダごと圧縮したZIPファイルを指定
例)”C:\temp”フォルダ内の"hoge.zip"内の"fuga.txt"を”C:\temp\fuga”に解凍
C:\temp\7za.exe e -y -oC:\temp\fuga -ir!fuga.txt hoge.zip
※Cドライブ直下に7za.exe一式があるとしています。
※カレントディレクトリをC:\temp\にしています。
②圧縮例
任意のフォルダorファイルを指定した名前のZIPファイルに圧縮。
C:\7-zip\7za.exe a <ZIP名> <圧縮したいフォルダorファイル>
a:圧縮コマンド(フォルダ構成反映)
<ZIP名>:指定したフォルダを圧縮した際の名前
<圧縮したいフォルダorファイル>:圧縮したいフォルダorファイル名
※上記でフルパスで指定していない箇所についてはカレントディレクトリを対象としています。
例)”C:\temp”フォルダ内の"hoge_folder"を"hogehoge.zip"に圧縮したい場合
C:\temp\7za.exe a hogehoge.zip hoge_folder
※Cドライブ直下に7za.exe一式があるとしています。
※カレントディレクトリをC:\temp\にしています。
①の任意のファイル解凍がわかっていれば、②のように圧縮はざっくりやっておいても問題ないことが多いので、上記で紹介した方法をメインに使っています。
Dirコマンドでフォルダリストを作成【Windows コマンドプロンプト】
dir <検索ファイル> (オプション)
検索ファイル
多用するオプション
/b :オプション情報を消してファイル名のみ表示
/ad :フォルダ名だけを取り出す
/a-d :ファイル名だけを取り出す
/s :サブフォルダ内も検索してくれる
プロンプトじゃなくてファイルに出力してほしければ
dir <検索ファイル> (オプション) > list.txt
「> (リダイレクト)」+「出力ファイル名(list.txt)」でOKです
既存のlist.txtに上書きしてあげたいなら、「>」を「>>」にすればOK。
デスクトップ以下にあるCSVファイルを探して「list1.txt」に残すときには
dir *.csv /b /a-d /s > list1.txt
デスクトップ以下にあるCSVフォルダを探して「list2.txt」に残すときには
dir CSV /b /ad /s > list2.txt
コマンドプロンプトでファイルをコピー【Windows コマンドプロンプト】
copy (オプション) [コピー元ファイル] [コピー先ファイル]
多用するオプション
/Y :同じファイルがある場合、確認せずに上書き
ファイルはフルパスでOK
コピー元: C:\Users\Desktop\Fortrans\201605\TEST.txt
コピー先: C:\Users\Desktop\Fortrans\201606\TEST.txt
の場合、下記でOK。(上書き確認なしオプションつき)
copy /y C:\Users\Desktop\201605\TEST.txt C:\Users\Desktop\201606\TEST.txt