• ベストアンサー

VBSでブートドライブを調べるには

マルチブート環境のPCで、そのブートドライブをVBSで調べることは可能でしょうか? たとえばWindows2000がCドライブ、VistaがDドライブにあり、Vistaを立ち上げVBSを実行するとDドライブという結果を得たいのです。 よろしくお願いします。

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

  • ベストアンサー
  • argument
  • ベストアンサー率63% (21/33)
回答No.4

こんばんわ Tracky さん あぁ、またしてもこんな時間か・・・。眠い。 さておき、三番さん曰く前回のでは一部うまく動かないようだったのでちょっとだけ変更しました。 [CheckBootDrive_2.vbs] For Each Drv In CreateObject("Scripting.FileSystemObject").Drives if Drv.DriveType = 2 then if CreateObject("Scripting.FileSystemObject").fileexists(Drv.Path & "\WINDOWS\system32\AUTOEXEC.NT")then bd=Drv.Path: exit for Next msgbox bd これをVBSで実行すればまぁ問題なくブートドライブが表示されると思います。 処理違い・補足・追加処理等必要でしたらいってください。

Tracky
質問者

お礼

argumentさん、 ご回答ありがとうございました。 作成頂いたスクリプトで、マルチブート環境でうまくできました。 確認が遅くなり、申し訳ございませんでした。

その他の回答 (3)

noname#208124
noname#208124
回答No.3

AUTOEXEC.BATを探す方法では少なくとも質問者の環境ではD:と表示されることはありませんね

  • argument
  • ベストアンサー率63% (21/33)
回答No.2

はじめまして Tracky さん 眠い・・非常に眠い。ですが今回のような問題なら寝る前に解けるでしょう。下記をコピー&ペーストしてVBSとして保存してください。 For Each Drv In CreateObject("Scripting.FileSystemObject").Drives if Drv.DriveType = 2 then if CreateObject("Scripting.FileSystemObject").fileexists(Drv.Path & "\AUTOEXEC.BAT")then bd=Drv.Path: exit for Next msgbox bd どうですか?実行して見ましたか?ブートドライブが表示された事でしょう。 あぁ眠い。もう寝てもいいですか?ぇ?なんでこれで表示できるのか? AUTOEXEC.BATを検索してくだい。…zZ。 はっ…ぁ、わかりましたか?ブートドライブというのはほかのドライブと違い特殊で判断する方法なんていくらでもあります。 それではおやすみなさい。 処理違い・補足・追加処理等必要でしたらいってください。

  • D-Matsu
  • ベストアンサー率45% (1080/2394)
回答No.1

#Win9x系列では使えませんが…… 環境変数SystemDriveの値を見ればよいかと。

Tracky
質問者

補足

早速、ご回答ありがとうございます。 VBSで具体的にどうすればいいのでしょうか? ネットで調べていたのですが、わかりませんでした。よろしくお願いします。

関連するQ&A

専門家に質問してみよう