• ベストアンサー

FileSystemObject(VBScript)でFD内のファイル、フォルダを削除

こんにちは。 OSはWIN2K,WSH 5.0を使用しています。 FD内のファイル・フォルダを全て削除したいのですが、 DeleteFile,DeleteFolderをただ記述しただけでは、 ファイル、フォルダが存在しない場合エラーで停止 してしまいます。 どんなファイル・フォルダが存在、或いは存在して いなくとも、FD内を正しく初期化する方法はありま すでしょうか? どうぞ、よろしくお願いいたします。

  • enako
  • お礼率62% (298/476)

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

  • ベストアンサー
  • kumadayo
  • ベストアンサー率31% (9/29)
回答No.2

#1こんなんどうですか^-^? Dim fsys, x Set fsys = CreateObject("Scripting.FileSystemObject") For Each x In fsys.GetDrive("a:").RootFolder.SubFolders x.Delete Next For Each x In fsys.GetDrive("a:").RootFolder.Files x.Delete Next

enako
質問者

お礼

kumadayoさん、こんにちは。 No.1の回答とこちらの方では どちらが効率的なのかは今の ところわかりませんが、両方 試してみたいと思います。 どうもありがとうございました。

その他の回答 (2)

  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.3

VBScriptからでももちろん、フォルダやファイルを調べながら削除はできますが、 有無を言わさず全て削除したいのですから format /q のコマンドを発行すればいいかと思います。

enako
質問者

お礼

BLUEPIXYさん、こんにちは。 VBScriptにこだわらずとも いろいろな方法で可能なのですね。 とても参考になりました。 どうもありがとうございました。

  • kumadayo
  • ベストアンサー率31% (9/29)
回答No.1

FileSystemObjectの FileExists FolderExists メソッドを使って存在を確認してから削除するのは どうですか^-^?

enako
質問者

お礼

kumadayoさん、こんにちは。 いろいろなメソッドがあるのですね。 どうもありがとうございました。

関連するQ&A

  • WSHでファイルとフォルダのコピーをしたい

    こんにちは。 OSはWindows2000,WSHは5.6を使用しています。 WSH(VBScript)で、同一PC内にあるローカルユーザー「suzuki」のマイドキュメントにある全てのファイル、 フォルダ(サブフォルダ)を「takada」に複写したい のですが、最初はコピーできるのですが、2度目以降、 は既に存在しているのでコピーできません(エラーと なります)。 (スクリプトが分からないので)存在チェックはしており ませんが、どのようにコーディングすればよろしいでしょ うか? どうぞよろしくお願いいたします。

  • WSH(VBScript)で共有フォルダを作成したい

    こんにちは。 OSはWIN2K,WSHは5.6を使用しています。 ドメインユーザーでログオンし、「D:\共有」 フォルダが存在しないならそれを作成し、 共有をかけ、アクセス許可はドメインユーザ が所属するグループだけにフルコントロール を許可したいのですが、どのようなスクリプト で実現可能でしょうか? よろしくお願いいたします。

  • 削除できないフォルダ

    ZIPファイルをDLしてデスクトップへ解凍しました。 で、いらなくなったのでそのフォルダを削除しようとしたのですが、 「ファイルを削除できません。送り側のファイルまたはディスクから読み取れません。」 というエラーが出てしまうのですがどのようにしたらよろしいでしょうか? フォルダの中身のファイルは削除できましたがフォルダが削除できません。 過去ログを見たら、MSDOSから起動して削除というふうに書いてあったのですが やり方がどうもわかりません。それとこれはフォルダでなくファイルの削除方法のようでした。 どなたかご助言いただけませんでしょうか? OSはWin2kProです。

  • フォルダの削除について

    最近デスクトップにzipファイルを回答したんですが、そのファイルを削除しようとしても削除できず、「ファイルまたはフォルダの削除エラー」がでて削除できません。 メッセージは「ファイルを削除できません。送り側のファイルまたはディスクから読み取れません。」とでて削除できません。 またコピー、切り取り等もでません。デスクトップに残りっぱなしです。 これはどうすれば削除できるのでしょうか? 私のPCのスペックは以下の通りです。 Pentium4 1.7GHz メモリ 256MB OS win2k ファイルの解凍には解凍レンジを使用しています。

  • フォルダーの削除が出来ません。

    USBメモリーの中にあるフォルダーの削除が出来ません。 フォルダー内のファイルは全て削除いたしました。 隠しファイルも存在していません。 他のファイルを開いたり、ソフトを立ち上げてもいないのですが、削除しようとすると  フォルダーファイルを削除できません。  ほかの人またはプログラムによって使用されています。  ファイルを使用している可能性のあるプログラムをすべて閉じてからやり直して下さい。 というエラーーメッセージが出ます。 しかし、該当するようなことをしていないので、…???…に陥っております。 一つ、考えられる原因としてはフォルダーが「読み取り専用」になっているからかとも思うのですが、 今度は「読み取り専用」のチェックを何度はずしても自動的に専用になってしまいます。 PCではチェックをはずせて削除が出来るので、…原因はこれではないか?… と思っているのですが 対処方法がわからないので前に進めない状態です。 ご教示の程、宜しくお願い申し上げます。

  • フォルダが削除できません

    フォルダを削除しようとすると「『*****』を削除できません。指定されたファイルが見つかりません。」というエラーメッセージが出てきます。表示されているファイルは普通の映像ファイルで,すでに別のフォルダに移動済みなので,そこには残っていません。 ところが,「フォルダ・オプション」の「表示」タブで「すべてのファイルとフォルダを表示する」を選択し,「保護されたオペレーティング システム ファイルを表示しない(推奨)」のチェックを外すと,なんと「*****」というファイルがそのフォルダに表示されます。(しかしデータサイズはゼロです) その状態でそのファイルを削除しようとすると「ファイルを削除できません。送り側のファイルまたはディスクから読み取れません」というエラーメッセージが出てきてやはり削除できません。 OSの再起動を行なっても結果は同じです。対処の方法はありますでしょうか?

  • WSHで.RMIファイルを再生

    こんにちは。 OSはWIN2K SP-4,WSHは5.6を使用しています。 c:x.RMIファイルをWSHを利用して再生するには どのようなスクリプト(wscript)を記述すれば よろしいでしょうか? よろしくお願いいたします。

  • ファイルまたはフォルダの削除エラー

    フォルダを整理しようとしたところ、フォルダの整理ができず 下記エラー表示がでました。 どのようにしてフォルダを削除したらよいのでしょうか? 共有上にフォルダを置いてますが、他の人はそのフォルダを 利用していません。 よろしくお願いします。 ------------------------------------------------------------- [ファイルまたはフォルダの削除エラー] (*フォルダ名*)を削除できません。他の人またはプログラムに よって使用されています。ファイルを使用している可能性があう プログラムをすべて閉じてからやり直してください。 --------------------------------------------------------------

  • フォルダーが削除出来ない

    Win8 Pro(8からアップグレード)OSはSSDでHyper-VをOSとは別のHDDにフォルダー作成してXProをインストールしましたがエラーが出てXPが立ち上がらずHyper-VマネージャーでXPを削除して再度別のフォルダーを作ってインストールしたら起動出来るようになりましたが最初に作ったHyper-Vのフォルダーを削除しようとしましたが別のプログラムがフォルダー又はファイルを開いているので出来ませんと警告がでます削除するにはどうしたら良いのでしょう。

  • フォルダが削除(Delete)できません!?

    WIN2000で圧縮ファイル(フォルダ毎)をデスクトップ上に解凍したあと、そのフォルダを削除しようとしても次のエラーが出て削除できません。 何が原因で、どうしたら削除できるのか方法を教えてください。 【エラーメッセージ】 ファイルまたはフォルダーの削除エラー (内容)ファイルを削除できません。送り側のファイルまたはディスクから読み取れません。

専門家に質問してみよう