Я пытаюсь передать строковый параметр из командного файла в сценарий VBS, который содержит строки, и у меня возникли некоторые проблемы. Я попробовал несколько вариантов, но не могу понять это правильно.
_execute.vbs
* * 1004
Set fso = CreateObject ("Scripting.FileSystemObject")
Set stdout = fso.GetStandardStream(1)
Set stderr = fso.GetStandardStream(2)
stdout.Write WScript.Arguments.Item(0) & "... "
Dim objShell, oExec
Set objShell = WScript.CreateObject ("WScript.Shell")
intReturn = objShell.Run(WScript.Arguments.Item(1), 0, True)
if intReturn = 0 Then
stdout.WriteLine "Done"
Else
stderr.WriteLine "Error (Return Code: " & intReturn & ") trying to execute [" & WScript.Arguments.Item(1) & "]"
End If
Первая попытка:
install.bat
:
@echo off
cscript /nologo _execute.vbs "Installing IIS" "C:\Windows\SysWOW64\inetsrv\appcmd set site ""Default Web Site"" -name:Stream"
Выход:
Установка IIS ... Ошибка (код возврата: 87) при попытке выполнить [C: \ Windows \ SysWOW64 \ inetsrv \ appcmd set site Стандартный веб-сайт-имя: поток]
Вторая попытка:
install.bat
@echo off
cscript /nologo _execute.vbs 'Installing IIS' 'C:\Windows\SysWOW64\inetsrv\appcmd set site "Default Web Site" -name:Stream'
Выход:
'Установка ... C: \ DEV_execute.vbs (8, 1) (null): системе не удается найти указанный файл.
Третья попытка:
install.bat
@echo off
cscript /nologo _execute.vbs "Installing IIS" "C:\Windows\SysWOW64\inetsrv\appcmd set site ^"Default Web Site^" -name:Stream"
Выход:
Установка IIS ... Ошибка (код возврата: 1168) при попытке выполнить [C: \ Windows \ SysWOW64 \ inetsrv \ appcmd set site ^ По умолчанию]
Как я могу передать два параметра, которые являются строками, которые могут включать кавычки?