1

私はこれらの2つのファイルa.vbsとa.batをそれぞれ1行しか持っていません。

a.vbs

CreateObject("Wscript.Shell").Run """" & WScript.Arguments(0) & """", 0, False

コウモリ

copy c:\blah\y.y c:\

動作すると、バックグラウンドでa.batを静かに実行し、ファイルのコピーを実行します。

start..run ...a.vbsa.batを実行できます。コマンドプロンプトを開いて、wscripta.vbsa.batを実行できます

しかし、うまくいかないのはこれです

start ... run ... wscript a.vbs a.bat

msgboxをa.vbsに入れると、それが実行されることは明らかです。しかし、そのメソッドを使用すると、a.batが実行されないようです。

そのフォームが機能しないのはなぜですか?

4

2 に答える 2

1

WScript.Arguments(0)がフルパスでない場合、a.batは現在のディレクトリにある必要があります。

次のコマンドで現在のディレクトリを確認できます。

WScript.Echo WScript.CreateObject("WScript.Shell").CurrentDirectory

a.batが常にa.vbsと同じフォルダーにある場合は、フルパスを使用できます。

set fso=WScript.CreateObject("Scripting.FileSystemObject")
thepath=fso.BuildPath(fso.GetParentFolderName(WScript.ScriptFullName),"a.bat")
WScript.Echo thepath
于 2010-08-09T20:48:09.043 に答える
0

.batを呼び出すためだけにvbscriptを使用しているのはなぜですか? Start --> Run --> a.bat

あなたがそのようにそれをしなければならないなら、しなさいStart --> Run --> cscript a.vbs a.bat

于 2010-08-27T12:54:42.417 に答える