調べ物:WSHでファイル名の変更 [プログラミング学習]
調べ物:WSHでzipファイル解凍
スクリプトでの自動化を行うことにした。
2. 解凍したフォルダ内のファイルリネーム
※1のzipファイル名に基づいたリネーム
WSHでの実行の場合は、FileSystemObjectを使えばいいそうな。
コマンドプロンプトの組み合わせだと、RENでもよさそうだ。
「[WHS入門] ファイル・ディレクトリ移動削除」
http://www.jfast.net/~saikawa/wsh/file.html#ren
で、気をつけないといけないのは、対象のフォルダ階層である。
リネームするための元名称は以下の画像での「Folder_Zip_FileName」である。これは、解凍元のzipファイル名と同一でもある。
(※とはいえ、このフォルダを作らないオプションもありうるので、このフォルダを参照はしない)
そして、リネームしなければならないフォルダは「Folder_1_1」である。この「Folder_1_1」は常に同じではない。
ただし、「Folder_2_1」「Folder_2_1」は必ず同じ名称である。
上述のZIPファイルを扱うために必要だと思っているのは以下の事項。
1). zipファイルを解凍したフォルダ内で「Folder_2_1」「Folder_2_1」を含んでいるか特定する
2). 1)のファイル名を変更する。
使おうとしているExtractZIP.VBSの呼び出し方は以下の通り。
CScript.exe ExtractZIP.VBS ZIPファイル [展開先フォルダ\][ファイル名またはフォルダ名]...
この辺を考慮すると、処理としてはこの通り、かな。
1). ExtractZIPで指定した展開先フォルダを変数に格納する
2). 展開先フォルダをカレントフォルダにする。
3). カレントフォルダ内のファイルリストを取得し、「Folder_2_1」を含んでいるかをチェックする。
※「Folder_2_1」以外のフォルダはとりあえず見なくていいことにする。
4). 含んでいなかった場合、カレントフォルダ内のフォルダに移動し、「Folder_2_1」を含んでいるかをチェックする。
5) 含んでいなかった場合、警告を出して終了。
6) 含んでいた場合、「Folder_2_1」の親フォルダを1) で格納した変数名に基づきファイル名変更
うーん。ファイル一覧取得方法を応用する必要がありそうだ。一旦やってみよう。
「Vacant-Eyes Tips - Windows Script Host - ファイル一覧を取得する」
http://www.vacant-eyes.jp/tips/twsh/050.aspx
「ファイル一覧取得 サブディレクトリも検索する - 東京のシステムエンジニア」
http://d.hatena.ne.jp/john-frank/20070509/1178641222
コメント 0