• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:BAT+VBSでのファイルZIP化処理が終わらない)

BAT+VBSでのファイルZIP化処理が終わらない

このQ&Aのポイント
  • Win7・Win2008環境にて、Windowsバッチ(.bat)から、引数に対象フォルダ・ZIPファイル作成場所を受け取ってフォルダのZIP化を行うVBSスクリプトを作成しています。
  • スクリプトを実行するとファイルがZIPファイル内に格納されないため、排他処理の関数を呼び出すとファイルが格納されるようになりますが、処理が終わらない問題が発生しています。
  • 質問者は、間違っている点やフォルダのZIP化手順について教えてほしいとしています。

質問者が選んだベストアンサー

  • ベストアンサー
  • luka3
  • ベストアンサー率72% (424/583)
回答No.2

中盤にある  'intFileCnt = intFileCnt - 1 のコメントアウトを解除してください。 ReDimのリファレンスを再度確認して下さい。ReDim(3)は4つ分の配列を確保します。 ReDim intNumbers(intFileCnt) で、実際のファイル数+1の大きさの配列が確保されています。 この結果、For Each l_strItem In intNumbers のループの最後で空のファイル名を CopyHere しようとするので処理が止まってしまうのです。 それと、ウエイト処理ですが、排他チェックをかけるより、こちらのページの方がスマートだと思いましたので参考に載せておきます。 ・VBScriptでファイル圧縮(ZIP編) - Fioの素敵な日々 http://d.hatena.ne.jp/Fio/20080914/ ちなみに No.1さんの Close は、しなくともとりあえず動きました。(必要かどうかは不明です)

その他の回答 (1)

noname#259269
noname#259269
回答No.1

>fso.CreateTextFile(strTargetFolder, False).Write "PK" & Chr(5) & Chr(6) & String(18, 0) これ↑が気になるんですけど。Create するのはいいですけど、どこで Close してますか?