Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Web программирование > JavaScript, Ajax
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 09.12.2009, 15:52   #1
voam
Пользователь
 
Регистрация: 04.12.2009
Сообщений: 40
По умолчанию WSH: Как правильно передать параметры коммандной строки?

Добрый день!

Подскажите, пожалуйста, как справиться с такой задачей.
Мне необходимо запустить консольное приложение через метод Run объекта WScript.Shell.

Сам скрипт состоит из двух строк:
Код:
Set WshShell = CreateObject("WScript.Shell")
WshShell.Run <мое_приложение_с_командной_строкой>, 1, True
Вопрос: как правильно передать параметры командной строки, если приложению передаются наименования папки исходных файлов, папки назначения и дополнительный ключ:
Код:
myapp.exe "C\Program Files\" "C:\Program Files\Common" -D
Заранее большое спасибо за помощь!
voam вне форума Ответить с цитированием
Старый 09.12.2009, 17:47   #2
SkyM@n
Laravel/Vue expert
Старожил Подтвердите свой е-майл
 
Аватар для SkyM@n
 
Регистрация: 08.08.2007
Сообщений: 2,832
По умолчанию

http://msdn.microsoft.com/en-us/libr...ky(VS.85).aspx
SkyM@n вне форума Ответить с цитированием
Старый 10.12.2009, 11:27   #3
voam
Пользователь
 
Регистрация: 04.12.2009
Сообщений: 40
По умолчанию

SkyM@n, большое спасибо за ссылку!
Разобрался!

P.S.
На всякий случай выкладываю пример рабочего скрипта, вдруг кому-то понадобится. )
Код:
Dim WshShell, P
P = "<путь_к_директории>"
Set WshShell = CreateObject("WScript.Shell")
WshShell.Run "myapplication.exe " & P & " " & P & " -D", 0, True
Set WshShell = Nothing
voam вне форума Ответить с цитированием
Старый 10.12.2009, 11:32   #4
voam
Пользователь
 
Регистрация: 04.12.2009
Сообщений: 40
По умолчанию

А еще вопрос: если в имени директории присутствуют символы кириллицы, скрипт не работает (очевидно, консольное приложение не распознает ANSI символы). В VBA я могу подключить функции WinAPI для преобразования ANSI символов в OEM. А возможно ли это в VBScript?
voam вне форума Ответить с цитированием
Старый 12.12.2009, 15:16   #5
Proof
Пользователь
 
Регистрация: 20.02.2008
Сообщений: 63
По умолчанию

Имя директории необходимо взять в двойные кавычки.

Я использовал следующий скрипт

Цитата:
var Wsh = WScript.CreateObject("WScript.Shell ");

path1='"'+str+'" "'+path+'\\БД\\"';
Wsh.Run ('"%programfiles%\\WinRar\\WinRAR.e xe"'+" e "+path1,1,true);

Последний раз редактировалось Proof; 12.12.2009 в 15:24.
Proof вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как передать параметры функции в ДЛЛ????? Zerone Общие вопросы Delphi 3 01.06.2009 09:27
Параметры коммандной строки BaronTreep Общие вопросы Delphi 4 30.05.2009 21:27
Параметры из командной строки ProGg Паскаль, Turbo Pascal, PascalABC.NET 5 13.02.2009 00:17
KEY_EVENT_RECORD какие передать параметры? ERASERROR Общие вопросы Delphi 1 21.02.2008 21:55
Как програмно передать параметры на сервер Sniper Работа с сетью в Delphi 2 11.09.2007 10:05