
こんにちは
日々のちょっとした作業が煩わしくて、自動化できないかと思い質問します。
仕事で毎日、何度となく zip ファイルを受け取ります。このzipファイルは次のような階層になっています。
パターン1:
base.zip
-folder1
--folder2
---folder3
----workfile.txt
パターン2:
base.zip
-folder1
--folder2
---folder3
----folderA
-----workfileA.txt
----folderB
-----workfileB.txt
----folderC
-----workfileC.txt
必要なのは、パターン1の場合は workfile.txt、パターン2の場合は workfileA|B|C.txt です。毎日このフォルダ階層をたどって、最後のファイルをコピーしてまた元のディレクトリに戻ってペーストしています。パターン2の場合も、最後のA|B|Cファイルを元の同じ1つのディレクトリに並べてコピーしています(foldrA|B|Cに分かれていても関係ない、ということです)。
こうした作業を自動化する方法はないでしょうか。
7-zip アプリケーションは導入しています。
おそらく、考え方としては、zip 内にある「フォルダ以外」=「ファイル」を、そのzipファイルと同じディレクトリにすべて展開する、というスクリプトになると思います。
7-zip あたりのコマンドラインをbatファイルでこねくり回すとできるのか、zip をフォルダとして展開した後、batかwshスクリプトでぐるぐる回すのか、どうしたらよいかわかりません。
どなたかお知恵を貸してください。よろしくお願いします。
No.1ベストアンサー
- 回答日時:
http://sevenzip.sourceforge.jp/chm/cmdline/comma …
→即ち、 7z e base.zip
・カレントディレクトリをbase.zipの場所にしてから実行する
感謝です!できました!
もっと面倒な手順を踏むのかと思っていました、zip ファイルを右クリックしてプログラムから開くの候補に、作成したbatファイルを登録したので、クリック2回でできるようになりました。
::対象となるファイル
set target=%1
::展開先(対象ファイルと同じディレクトリ)
set base="%~dp1"
::「*.*」指定で事実上ファイルのみとなる、はず。-aoa は強制上書き、rはたぶん・・・再帰的ということかもしれません。
7z.exe e %target% -o%base% *.* -aoar
見事にできました!日々の作業が楽になります。
No.2
- 回答日時:
以下のサイトに『サブディレクトリまで含めてファイルを
コピーする』方法が載っています。
http://www.noshiroya.com/it/2008/03/xcopy.html
回答No.1 さんの回答と合わせれば、目的のことはできる
かと思います。
時間差!でもありがとうございます。
そうです、こういうのを想像していました。
が・・・No1の方が7-zipだけで、しかも1つのコマンドだけでできる方法を教えてくれました。
ご協力ありがとうございます。Thank you anyway!
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
.txtではなく.logの方が良いの...
-
バッチ処理でファイルの中身を...
-
ファイル名の一部をbatで変更し...
-
テキストファイルのタブをカン...
-
VBAでワークシートを引数として...
-
ftpコマンドで複数のファイルを...
-
UWSCでテキストファイルを開い...
-
VBSで、テキストファイルに対し...
-
textファイルの内容の削除につ...
-
多数のサブディレクトリ内のフ...
-
UWSCでファイルを開く方法
-
psqlでエラーログをとりたい
-
forfilesで検索したファイルを...
-
テキストファイルで提出とは?
-
シェルスクリプトでファイルを...
-
拡張子を元に戻す
-
COPYコマンドで結合すると余計...
-
EXCEl/VBAで拡張子なしのファイ...
-
C言語、ファイルの存在チェック...
-
コマンドプロンプトでスペース...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
バッチ処理でファイルの中身を...
-
.txtではなく.logの方が良いの...
-
VBAでワークシートを引数として...
-
テキストファイルで提出とは?
-
多数のサブディレクトリ内のフ...
-
ファイル名の一部をbatで変更し...
-
ファイル内容の修正、行削除に...
-
拡張子を元に戻す
-
エクセルの各セルの内容をそれ...
-
psqlでエラーログをとりたい
-
ファイルの最後に文字列挿入
-
COPYコマンドで結合すると余計...
-
Windows マシンでFTPバッチが動...
-
バッチファイルで文字列削除に...
-
バッチファイル 複数ファイル...
-
UWSCでテキストファイルを開い...
-
ExcelVBA テキストファイルUNIC...
-
VBSでフォルダ内のテキストファ...
-
外部exeに対しての引数受け渡し
-
accessでSQL文を使ってcsvファ...
おすすめ情報