![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
お世話になります。
VBScriptで困っています。
ご存知の方、ご教示願えますでしょうか。
Windowsでバッチファイルを実行したときに、DOS画面(コマンドプロンプト)が一瞬パッて表示されるかと思います。
現在開発中のシステムで、プログラムからバッチファイルを自動で実行する処理を入れております。
通常ならばバッチファイルを実行した場合、DOS画面が表示されてしまいますが
DOS画面を出さないようにプログラムを組んでいます。
つまり、VBScriptからバッチファイルを実行しております。
以下、VBScriptのソースを記載します。
Set objShell = WScript.CreateObject("WScript.Shell")
fcresult = objShell.Run("C:\abc.bat", 0, True)
wscript.quit fcresult
上記のVBSを実行すると、必然的に「abc.bat」が実行されます。
しかし、現在僕が使っている環境ですとDOS画面が表示されません(←これがやりたいこと)
しかし、お客さんの環境で同じ様にVBSからバッチファイルを実行すると
「C:\WINDOWS\System32\CScript.exe」という名前でDOS画面が起動されてしまいます。
周りの環境でもVBSからバッチをたたくような処理を行ってみましたが、DOS画面が起動されず。。。
正直、再現が難しいため大変困っております。
お客さんの環境では100%再現されます。
全くもって原因がつかめておりません。
Windowsのセキュリティの設定でしょうか!?
ご存知の方いらっしゃいましたら、知恵をお貸しください。
よろしくお願いいたします。
No.2ベストアンサー
- 回答日時:
レジストリーの中を覗くと
質問者のパソコンでは次のようになってませんか?
=============================
HKEY_CLASSES_ROOT
----VBSFile
---------Shell
--------------Open
------------------Command
右ペインのデータ %SystemRoot%\System32\WScript.exe "%1" %*
--------------Open2
------------------Command
右ペインのデータ %SystemRoot%\System32\CScript.exe "%1" %*
==============================
当方のも上記のようになってます。
で、この状態で、コピーのBatを作り、質問者のコードを実行すると
DOS画面は表示されませんでしたが、
OpenとOpen2のデータを入れ替えて実行してみたところ
「C:\WINDOWS\System32\CScript.exe」のDOS画面がでました。
ということで、その関係先のレジストリーがどうなっているか調べてみたらどうでしょう。
ご回答ありがとうございました。
記載してくださった内容を基に、レジストリ内の情報を調べてみました。
確かに、おっしゃった通りになっておりました。
私の方でも、OpenとOpen2を入れ替えて実行してみたところ、
客先で出た現象と全く同じものが再現できました。
これにより、無事解決に至ることができました。
大変有益な情報をありがとうございました。
このような形で無礼かと存じますが、御礼の意とさせていただきます。
No.1
- 回答日時:
VBSの関連付けはwscript.exeとcscript.exeの2つが用意されています
規定ではWindows GUIとしてのwscript.exeに関連付けされていますが設定でコンソールアプリケーションのcscript.exeに関連づけされます
Runでバッチ実行以前にVBS自体がコンソールで実行されるのでコードをどう書こうがコンソールが出ます
http://msdn.microsoft.com/ja-jp/library/cc364511 …
http://msdn.microsoft.com/ja-jp/library/cc364500 …
http://support.microsoft.com/kb/952033/en
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・ゆるやかでぃべーと タイムマシンを破壊すべきか。
- ・「I love you」 をかっこよく翻訳してみてください
- ・歩いた自慢大会
- ・許せない心理テスト
- ・字面がカッコいい英単語
- ・昔のあなたへのアドバイス
- ・かっこよく答えてください!!
- ・あなたが好きな本屋さんを教えてください
- ・スタッフと宿泊客が全員斜め上を行くホテルのレビュー
- ・【大喜利】【投稿~8/27】 こんなガソリンスタンド二度と来るか!なぜそう思った?
- ・これ何て呼びますか Part2
- ・人生で一番思い出に残ってる靴
- ・【お題】動物のキャッチフレーズ
- ・【お題】甲子園での思い出の残し方
- ・ゆるやかでぃべーと すべての高校生はアルバイトをするべきだ。
- ・「それ、メッセージ花火でわざわざ伝えること?」
- ・自分用のお土産
- ・人生で一番お金がなかったとき
- ・一番好きなみそ汁の具材は?
- ・泣きながら食べたご飯の思い出
- ・ちょっと先の未来クイズ第1問
- ・ゴリラ向け動画サイト「ウホウホ動画」にありがちなこと
- ・初めて自分の家と他人の家が違う、と意識した時
- ・単二電池
- ・チョコミントアイス
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
コマンドプロンプトのエラーに...
-
これってパソコンの最適化が完...
-
pythonスクリプトを管理者権限...
-
ネットワーク名が見つかりません
-
「読み取りと実行」と「読み取...
-
windows10 デフォルトで開発出...
-
NASに移したBATファイルからセ...
-
VBscriptが起動しない?
-
PDFファイルを開き、印刷し、閉...
-
VBScript(WHS)でWMIを使ってリ...
-
リリース実行やExe実行で動作が...
-
バッチファイルでクリップボー...
-
Access の VBA 実行中に他の操...
-
Excel(エクセル) VBA プロシー...
-
複数のbatファイルを自動実行し...
-
VBA 既に開いているBookに継続...
-
ディスクチェックをタスクで、...
-
exeの同時実行について
-
【VB.NET】exeを実行すると「発...
-
[VBScript]ファイルの削除
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
コマンドプロンプトのエラーに...
-
exeファイルを実行するとコマン...
-
[teraterm] waitコマンドで停止...
-
「読み取りと実行」と「読み取...
-
これってパソコンの最適化が完...
-
VBscriptが起動しない?
-
ネットワーク名が見つかりません
-
hostファイル
-
バッチファイルの内容を表示さ...
-
エクセル フォルダの画像を画...
-
PDFファイルを開き、印刷し、閉...
-
バッチファイルで以下のような...
-
Excel(エクセル) VBA プロシー...
-
VScodeのエラー解決法 Pythonの...
-
NASに移したBATファイルからセ...
-
pythonスクリプトを管理者権限...
-
Excel VBA ステップインが途中...
-
バッチファイルが不正終了して...
-
16進数の変換処理
-
複数のbatファイルを自動実行し...
おすすめ情報