SSブログ

調べ物:WSHでzipファイル解凍 [プログラミング学習]

業務でファイル操作を伴う作業を引き継いだ。多くのファイルとサーバへのアクセスを扱う。
どういうわけだか、今までずっと手作業でやっていたそうだ。

正直、勘弁してくれと思っている。
単純なルーティンワークにも関わらず、手順は多くチェックしなければいけないことも種々雑多であり、ヒューマンエラーを介在させやすい作業手順になっている。戻り作業になった場合の工数ロスも多いのに、エラーハンドリング手段が人の注意力だけなんて嫌すぎる。怖すぎる。
なので、自衛として、スクリプトでの自動化を行うことにした。

やらなきゃいけないことは大まかには以下の通り。
1. zipファイルの解凍
2. 解凍したフォルダ内のファイルリネーム
 ※1のzipファイル名に基づいたリネーム
3. 解凍したフォルダ内への別フォルダコピー
 ※ファイルサーバから取得。
4. 解凍したフォルダ内のファイル移動
 ※ファイルの移動先の定義は、3のフォルダ内にある
5. 4でできたファイルを、過去の同じ作業でできたファイルと比較
6. 5の比較結果をファイル出力
7. 6まででできたファイルとフォルダ群をファイルサーバにコピー
 ※ファイルサーバへのアップロード先は固定。ただし将来的に変わらない保証はない
8. PC内の特定フォルダのファイルを削除
 ※特定フォルダは固定。将来的に変わる可能性はありうるが、PC内に設定ファイルがあるかもしれない
9. PC内の特定アプリケーションをアンインストール
 ※バージョン以外は固定。デフォルトインストールのため、インストール先は同じ
10. 7のファイルサーバ上のファイルから一部を8のPCにコピー
 ※コピー元ファイルの定義は、Excelファイルにある。
 ※コピー元ファイルは複数のサーバからインストールする
11. 10でコピーしたファイルの中から、特定アプリケーションをインストール
12. 特定アプリケーションでファイル群を加工
13. 12で加工したファイル群の一部をファイルサーバにコピー
14. 13のファイルの一部と別ファイルを外部ストレージにコピー
  ※別ファイルはサーバにある。ローカルに固定しても構わないが、基本的にはサーバから取ってきたい。

というわけで、まずzipファイルの解凍から。
結論としては、このvbsを使うことにする。
「ZIP.VBSの詳細情報 : Vector ソフトを探す!」
http://www.vector.co.jp/soft/winnt/util/se355605.html
WSHからWSHを呼び出すことはできるので、こうしてスクリプトがあるのはとてもありがたい。自作には(できた方がいいだろうけど)こだわらないし。

コマンドで実行する場合は、CopyHereというコマンドを使えばいいらしい。


「WSH zip 解凍 - Google 検索」
http://www.google.co.jp/search?hl=ja&source=hp&q=WSH+zip+%E8%A7%A3%E5%87%8D&aq=f&aqi=g1&aql=&oq=&gs_rfai=

「VBScriptでZIPファイルを解凍する - モデラート - C#とゲーム開発と雑記」
http://d.hatena.ne.jp/runicalp/20081117/1226912916

「VBAでZIP展開する。: Windows Script Programming」
http://scripting.cocolog-nifty.com/blog/2008/06/vbazip_a2e5.html

「copyHere Method (System.Shell.Folder)」
http://msdn.microsoft.com/ja-jp/library/ms723207(VS.85).aspx

「3.4 フォルダをコピー・移動する (CopyHere, MoveHere)」
http://www.happy2-island.com/vbs/cafe02/capter00304.shtml


nice!(0)  コメント(0)  トラックバック(6) 
共通テーマ:パソコン・インターネット

nice! 0

コメント 0

コメントを書く

お名前:[必須]
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

トラックバック 6