проблема запуска start..run..wscript a.vbs a.bat - PullRequest
1 голос
/ 09 августа 2010

У меня есть эти 2 файла a.vbs и a.bat каждый имеет только одну строку.

a.vbs

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

a.bat

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

Когда он работает, он запускает a.bat в фоновом режиме, что делает копию файла.

Я могу сделать start..run ... a.vbs a.bat Это работает.Я могу открыть командную строку и сделать wscript a.vbs a.bat

Но вещь, которая не работает, это

start ... run ... wscript a.vbsa.bat

если я добавлю msgbox в a.vbs, ясно, что он запускается.Но похоже, что при использовании этого метода a.bat не запускается ..

Почему эта форма не работает?

Ответы [ 2 ]

1 голос
/ 10 августа 2010

Если 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
0 голосов
/ 27 августа 2010

Почему вы используете vbscript просто для вызова .bat? Start --> Run --> a.bat

Если вам нужно сделать это так, выполните Start --> Run --> cscript a.vbs a.bat

...