2016-02-19 6 views
1

Мне нужно выполнить скрипт на VBSVBScript ошибка команды запуска с длинным аргументом

У меня нет проблем запустить program.exe с этим скриптом

objShell.Run("%SystemDrive%\temp\program.exe") 

Однако программа может поддерживать arguement для бесшумной установка

я запускаю следующую команду вручную ЦМД

 
%SystemDrive%\temp\program.exe /s /v"MS=1.1.1.1 SF= %SystemDrive%\temp\cert.ssl -l*v+! %temp%\install.log IP=False CFG="CFG_GRP" ICG="ICG_GRP" REBOOT=Force /qn"" 

поэтому я ставлю эту команду на сценарий, но получаю ошибку исключения «)»

objShell.Run("%SystemDrive%\temp\program.exe /s /v"MS=1.1.1.1 SF= %SystemDrive%\temp\cert.ssl -l*v+! %temp%\install.log IP=False CFG="CFG_GRP" ICG="ICG_GRP" REBOOT=Force /qn""") 

любая идея?

+0

Вам нужно избежать кавычек внутри строки '' '. Там, где у вас есть' '', вам нужно сбежать от нее так же, как и '' ''. – Lankymart

ответ

0

Попробуйте

Command = "cmd /c %SystemDrive%\temp\program.exe /s /v""MS=1.1.1.1 SF= %SystemDrive%\temp\cert.ssl -l*v+! %temp%\install.log IP=False CFG=""CFG_GRP"" ICG=""ICG_GRP"" REBOOT=Force /qn""""" 
objShell.Run Command 

или

objShell.Run "cmd /c %SystemDrive%\temp\program.exe /s /v""MS=1.1.1.1 SF= %SystemDrive%\temp\cert.ssl -l*v+! %temp%\install.log IP=False CFG=""CFG_GRP"" ICG=""ICG_GRP"" REBOOT=Force /qn""""" 

В любом случае будет работать этот вопрос является неправильно сформирована строка.

Поскольку котировки " обозначают начало и конец строки, когда используется внутри строки, они должны быть экранированы путем удвоения их "", в противном случае VBScript будет думать, что это конец строки и бросить синтаксическую ошибку.

+0

скриншота ошибки https://www.evernote.com/l/AATOy-pRz7hNbogjbaz-s4sQI7ZF0W9yJtcB/image.png – Francis

+0

@Francis Я сказал вам, что вы должны сделать, является ли св переменным с именем 'command' или вызывается непосредственно в 'objShell.Run()' несущественно. Infact вы можете просто вызвать 'Command' в' objShell.Run() '. – Lankymart

+0

Я попытался добавить 2 цитаты позади все еще получить ошибку, как устранить неполадки? – Francis

Смежные вопросы