アプリ版:「スタンプのみでお礼する」機能のリリースについて

こんにちは

日々のちょっとした作業が煩わしくて、自動化できないかと思い質問します。

仕事で毎日、何度となく 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スクリプトでぐるぐる回すのか、どうしたらよいかわかりません。

どなたかお知恵を貸してください。よろしくお願いします。

A 回答 (2件)

http://sevenzip.sourceforge.jp/chm/cmdline/ の 7-Zipを使うなら以下のマニュアルに従う。
http://sevenzip.sourceforge.jp/chm/cmdline/comma …
→即ち、 7z e base.zip
  ・カレントディレクトリをbase.zipの場所にしてから実行する
    • good
    • 0
この回答へのお礼

感謝です!できました!

もっと面倒な手順を踏むのかと思っていました、zip ファイルを右クリックしてプログラムから開くの候補に、作成したbatファイルを登録したので、クリック2回でできるようになりました。

::対象となるファイル
set target=%1
::展開先(対象ファイルと同じディレクトリ)
set base="%~dp1"
::「*.*」指定で事実上ファイルのみとなる、はず。-aoa は強制上書き、rはたぶん・・・再帰的ということかもしれません。
7z.exe e %target% -o%base% *.* -aoar

見事にできました!日々の作業が楽になります。

お礼日時:2015/01/08 23:25

以下のサイトに『サブディレクトリまで含めてファイルを


コピーする』方法が載っています。
http://www.noshiroya.com/it/2008/03/xcopy.html

回答No.1 さんの回答と合わせれば、目的のことはできる
かと思います。
    • good
    • 0
この回答へのお礼

時間差!でもありがとうございます。

そうです、こういうのを想像していました。
が・・・No1の方が7-zipだけで、しかも1つのコマンドだけでできる方法を教えてくれました。

ご協力ありがとうございます。Thank you anyway!

お礼日時:2015/01/08 23:27

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!