|
v7: как в метод run vbscript-a передать аргументы | ☑ | ||
---|---|---|---|---|
0
Adecvator
20.09.12
✎
13:06
|
Запустить на выполнение скрипт из 1С:
КоманднаяСтрока = "cmd.exe /c net view>S:\1c_sql.vbs"; WshShell=CreateObject("WScript.Shell"); WshShell.Run(КоманднаяСтрока, 0, 1); Скрипт был написан до меня и выполняется из назначенной задачи: Имя файла скрипта Имя файла с аргументами. Вопрос: Как запустить скрипт с нужными мне аргументами? |
|||
1
Андрюха
20.09.12
✎
13:10
|
C:\>ИмяСкрипта.wsh Аргумент1 Аргумент2
|
|||
2
Adecvator
20.09.12
✎
13:11
|
(1) а применительно к моему случаю, это как?
|
|||
3
ADirks
20.09.12
✎
13:20
|
ну и запихай их прям в командную строку, типа
КоманднаяСтрока = "cmd.exe /c net view>S:\1c_sql.vbs """+Арг1+""""; |
|||
4
Adecvator
20.09.12
✎
13:23
|
(3) имел ввиду: КоманднаяСтрока = "cmd.exe /c net view>S:\1c_sql.vbs S:\_List\Report.txt";
|
|||
5
ADirks
20.09.12
✎
13:25
|
да
но не забывай про возможные пробелы в путях. Поэтому S:\1c_sql.vbs "S:\_List\Report.txt" |
|||
6
ADirks
20.09.12
✎
13:28
|
кстати, если скрипт небольшой, то лучше вообще вот так сделать (пример)
Скрипт = СоздатьОбъект("MSScriptControl.ScriptControl"); Скрипт.Language = "VBScript"; Стр = "function GetAttrib() |Set fso = CreateObject(""Scripting.FileSystemObject"") |Set f = fso.GetFile(""" + СокрЛП(ИмяФайла) + """) |f.attributes = " + Код + " |end function"; Скрипт.AddCode(стр); Код = Скрипт.Run("GetAttrib"); тогда не будет никаких ненужных окошек открываться. |
|||
7
Adecvator
20.09.12
✎
13:31
|
(6) в переменную ИмяФайла передаем файл скрипта, а в Код файл с атрибутами, я правильно понял или надо весь код скрипта передавать и весь текст файла атрибутов?
|
|||
8
ADirks
20.09.12
✎
13:37
|
Не, это просто пример, как это вообще может выглядеть, просто взял первый попавшийся.
Тебе же надо вместо текста function GetAttrib() |Set fso = CreateObject(""Scripting.FileSystemObject"") |Set f = fso.GetFile(""" + СокрЛП(ИмяФайла) + """) |f.attributes = " + Код + " |end function подставить текст того скрипта, который ты хочешь выполнить. MSScriptControl.ScriptControl - это такой COM-объект, который позволяет напрямую взаимодействовать со скриптовым движком, без cscript/wscript |
|||
9
Adecvator
20.09.12
✎
13:54
|
(8) Понял, спасибо.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |