2009-08-27 15 views
22

ローカルシステムで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コマンドを与える必要がありますか?

答えて

43

試してください: -

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)フォルダに存在することに注意してください。

+1

こんにちは、ありがとう!私は引用符と混同しました:D しかし、単に "firefox.exe"を使用して1つのメモが機能しませんでした。 –

+4

あなたは 'objShell.Run(" "%ProgramFiles%\ Mozilla Firefox \ firefox.exe" "") 'を使って64ビット問題を回すことができます –

+2

本当はジャックです。 Firefoxはまだ%ProgramFiles(x86)%の下にインストールされているかもしれません。 – mgr326639

-10

フォルダーをコピーすると、firefox.exeがあり、c:\にのみ置かれます。スクリプトはあなたのファイルツリーを登るのに苦労しています。私は、* .exeファイルをc:\に置いたときに、エラーメッセージ "ファイルが見つかりません"を削除したことがわかりました。

+4

FSルートにすべてを入れるのは非常に便利です。 –

+3

その解決策は、他の問題の大部分を泣かせます。あなたが 'common.dll'と呼ばれるファイルを含んでいる2つのプログラムでこれを行うとします。 –

3

あなたバンあなたがiexplore.exeを 例を実行するアプリケーションとfirefox.exeを削除し、.exeのための.exeファイルを見つけるExecは

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

この答えは、プログラム名の前後に二重引用符が含まれていないため、少し間違っている点を除いて、上記と同じです。 –

+1

この回答は上記のものとほぼ同じですが、複数の引用符を必要とせず、動作します。 –

+0

実行はC:\ Users \ user \ Appdata \ Localのプログラムを起動できませんが、実行はそこからアプリを起動できます。 (TeamSpeak 3がそこにインストールされている、少なくともそれは私のために) –

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

この

+0

私は意図したとおりに入力されていません。ちょうど整列を台無しにした。適切な字下げのあるページでも同様の答えがあります。 –

1

を使用してみてください これをobjShell.Run( "firefox")で使用してください。

私はこれが役に立ちそうです。

3

それは

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

での作業だが、何が、我々は唯一の

例えばInternet Explorerの

WSHELL.Run("iexplore") 
1
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 
0

の場合にアプリケーション名を入力したい場合は、パラメータでなければなりませんあなたが達成しようとしていることは簡単で、あなたがそれについて行く方法はありません。これを試してみて(私にとってはうまくいく)、ファイルをテキストエディタからバッチとして保存してください。私を信じて、それは簡単です。

start firefox.exe 
関連する問題