web-dev-qa-db-ja.com

パスにスペースが含まれるプログラムを起動する

VBScriptを使用してローカルシステムでプログラムを起動する必要があります。しかし、構文に問題があります。これは私が今使用しているものです-

Dim objShell
Set objShell = WScript.CreateObject( "WScript.Shell" )
objShell.Run("iexplore")
Set objShell = Nothing

上記のコードはIEを正常に起動します。他のブラウザを起動したい。しかし、私が使用する場合-

Dim objShell
Set objShell = WScript.CreateObject( "WScript.Shell" )
objShell.Run("c:\Program Files\Mozilla Firefox\firefox.exe")
Set objShell = Nothing

ファイルまたはパスが見つからなかったことを示すエラーをスローしています。 Run()関数内のパラメーターがどのように取得されるのかわかりません-EXEへのパスを指定する必要がありますか、それともDOSコマンドを指定する必要がありますか?!

24
anonymous

試してください:-

Dim objShell
Set objShell = WScript.CreateObject( "WScript.Shell" )
objShell.Run("""c:\Program Files\Mozilla Firefox\firefox.exe""")
Set objShell = Nothing

文字列内の余分な「」に注意してください。 exeへのパスにはスペースが含まれているため、引用符で囲む必要があります。 (この場合、単に「firefox.exe」を使用すると動作します)。

また、多くのプログラムが64ビットバージョンのWindowsのc:\ Program Files(x86)フォルダーに存在することに注意してください。

46
AnthonyWJones

それは働いています

Set WSHELL = CreateObject("Wscript.Shell")
WSHELL.Exec("Application_Path")

ただし、アプリケーション名のみを入力する場合のパラメーターはどうすればよいですか

例:Internet Explorerの場合

WSHELL.Run("iexplore")
3
MilanYadav

あなたはバンを使用します

Dim objShell
Set objShell = WScript.CreateObject( "WScript.Shell" )
objShell.Exec("c:\Program Files\Mozilla Firefox\firefox.exe")
Set objShell = Nothing
3
nimday
set Shell=CreateObject("Shell.Application")
' Shell.ShellExecute "application", "arguments", "path", "verb", window
Shell.ShellExecute  "slipery.bat",,"C:\Users\anthony\Desktop\dvx", "runas", 1
set Shell=nothing 
2
weird

サンプルiexplore.exeとfirefox.exeを実行し、.exeを削除してobjShell.Run( "firefox")で使用するアプリケーションの.exeファイルを見つけます。

これがお役に立てば幸いです。

1
Mushir Shaikh
Set objShell = WScript.CreateObject("WScript.Shell")
objShell.Run("firefox")
Set objShell = Nothing

これを試してください

1
Mushir Shaikh

あなたが達成しようとしていることは簡単であり、あなたがそれについて行っている方法はそうではありません。これを試して(私にとってはうまくいく)、テキストエディターからファイルをバッチとして保存します。私を信じて、それは簡単です。

start firefox.exe
0
Anthony Smyth