XCOPYでフォルダ構成だけをコピーする【Windowsコマンドプロンプト】

xcopy /t (/e) コピー元パス コピー先パス

 

オプション

/t     :フォルダ構造だけコピーする

/e    :空のフォルダも含む

 

こんなときに便利

同じフォルダ構成が使いまわしできるけど、ファイルごとコピーすると時間がかかる・・・という時の強い味方です。 

 

例)昨年度と同じフォルダ構成にデータを収めたいとき

xcopy /t /e C:\temp\2016 C:\temp\2017

 

昨年度はフォルダを作ったけど、結局空だったフォルダを除くとき

xcopy /t C:\temp\2016 C:\temp\2017

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 <検索ファイル> (オプション)

 

検索ファイル

*.csv」 などワイルドカード で指定可能。

多用するオプション

/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