2013-07-10 3 views
0

У меня есть сценарий, который находится по сетевому пути, и когда я использую приведенный ниже код для его запуска, я получаю сообщение об ошибке, когда система не может найти указанный файл. Мне нужно сделайте что-нибудь для этого, чтобы работать в сетевом расположении.запуск сценария с использованием WScript.Shell в сети

CreateObject("WScript.Shell").Run "\\\host\aid\prog\Files.vbs" & Trim(arglist), 0, True 

Благодаря

+0

я собираюсь предположить, что VBS рассматривает «\» как особый символ, как это делают многие другие языки сценариев. Попробуйте «\\\\ host \\ aid \\ prog \\ Files.vbs» или «//host/aid/prog/Files.vbs» –

+0

Q: Является ли строка «" \\ host \ aid \ prog \ Files .vbs my args list «valid for» CreateObject («SCript.Shell»). Выполнить «Предполагая, что общий ресурс действителен и существует файл .vbs ... Мое предположение: возможно, вам нужно отделить имя файла .vbs от" argslist ". ИМХО ... – paulsm4

ответ

1

подрезке, ведущие завершающие пробелы из списка аргументов, а затем сцепить результат на пути сценария. Если ваш список аргументов не является пустой строкой, это приведет к созданию несуществующего имени файла. Пример:

arglist = "/foo" 
WScript.Echo "\\host\aid\prog\Files.vbs" & Trim(arglist) 

производит следующий вывод:

\\host\aid\prog\Files.vbs/foo 

сделать код работу вам необходимо добавить пробел между путем сценария и аргументами:

... 
filename = "\\host\aid\prog\Files.vbs" 
CreateObject("WScript.Shell").Run filename & " " & Trim(arglist), 0, True 
+0

Ур парень в VBScript .. Ответьте на многие мои вопросы .. Большое спасибо – user505210