tagCANDY CGI VBレスキュー(花ちゃん)の Visual Basic 6.0用 掲示板
VBレスキュー(花ちゃん)の Visual Basic 6.0用 掲示板
[ツリー表示へ]  [ワード検索]  [Home]

タイトル Re^5: UNLHAで使用したフォルダの削除
投稿日: 2010/01/08(Fri) 09:58
投稿者花ちゃん
> 以下のようにフォルダ削除前にName関数でフォルダ名の変更を試みましたが、
> Name関数の実行時にエラーでます。
> Unlha Me.hwnd, "a -d0 c:\test.lzh c:\dummy\*.* -w1", msg, 1024
> Kill "c:\dummy\*.*"
> Name "c:\dummy\" as "c:\dummy1\"    <--- ここでエラー発生
> RmDir "c:\dummy1\"

上記コードを試して見ましたが、エラーなく、フォルダーが削除されましたが。
(私の環境では、エラーが発生しません。)

エラーが発生したとなると、ファイルが削除されない内にフォルダー名の変更が
行われた可能性があります。(マシンの環境により)
又は、圧縮するファイルが多いとかサイズが大きいとかで圧縮が終っていない内に
次に進んだとか。
又、IDE 上と EXE 上とでも動作が違ってくるかも知れません。
(私は、IDE 上でしか試していませんが。)

圧縮・削除後、少し待ち時間を作って完全に作業が終了されてから次に進むように
すれば多分エラーはでないかと。
試しに、F8 キー 等で1ステップづつコードを動かしてみたら確認ができるかと。

それよりも、フォルダー内のファイルごとフォルダーを削除したいなら
   Unlha Me.hWnd, "a -d0 c:\test.lzh c:\dummy\*.* -w1", msg, 1024
   CreateObject("Scripting.FileSystemObject").DeleteFolder "c:\dummy"
で削除できます。

上記は簡便的にFileSystemObjectを使っているので、ここの掲載の FileSystemObject の
項をご覧ください。

又は、下記のような方法でもファイルごとフォルダーを削除する事ができます。
http://www.hanatyan.sakura.ne.jp/vbhlp/fil_Delete.htm

- 関連一覧ツリー をクリックするとツリー全体を一括表示します)

古いスレッドにレスはつけられません。