|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Передача значений переменной в другой скрипт |
|
CMD/BAT - [решено] Передача значений переменной в другой скрипт
|
Новый участник Сообщения: 26 |
Профиль | Отправить PM | Цитировать Доброго времени суток. Есть 2 файла .bat и .vbs
в .bat есть код: FOR /f "TOKENS=*" %%i IN ('DIR /b "%PathLocal%\Sirene\%COMPUTERNAME%"') DO ( ::тут просто ищется папка в сети SET result=%%i ::тут устанавливается значение переменной "result" IF "!result:~0,4!"=="gfum" ( ::тут в зависимости от того какое значение переменной некое действие XCOPY %PathLocal%\Sirene\%COMPUTERNAME%\!result! C:\!result!\/e/i/q/h/y ::собственно само действие "xcopy" IF EXIST C:\!result! ( ::проверка как оно там скопировано... теперь файл .vbs он по-сути создает ярлык на исполняющий файл, в копируемой .bat-ником папке, в нем вот такой код: oShortCut.IconLocation = "c:\gfum[число]\AutoUpdate.exe ,0" :: сложность в передаче другому скрипту параметров переменной из основного скрипта Есть мысль в vbs запустить проверку аналогичную в bat с поиском папки начинающейся на gfum и, в случае нахождения таковой, использовать ее имя в адресе. Жду помощи, идей, решений... |
|
Отправлено: 10:19, 20-11-2013 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Цитата Instant_SR:
|
|
Отправлено: 14:35, 20-11-2013 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Новый участник Сообщения: 26
|
Профиль | Отправить PM | Цитировать еще вопрос остался:
в VBS использую для адреса в ярлыке: .TargetPath = "c:\" & result & "\run.exe" При условии, что result=gfum100, ярлык должен искать run.exe по адресу: c:\gfum100\run.exe Ярлык создается, но ссылается на: C:\run.exe Что не так? при исправлении result на c:\gfum100 , конструкцию .TargetPath = result & "\run.exe" принимает нормально |
Отправлено: 17:41, 20-11-2013 | #3 |
Новый участник Сообщения: 26
|
Профиль | Отправить PM | Цитировать проверил чуть, в VBS ошибок нет с помощью MsgBox вывел result = пустое сообщение, выходит, из BAT файла не передается result.
В *.bat вызываю скрипт так: cscript.exe //nologo "путь\скипт.vbs" "!result!" перед этим вызовом, попробовал отобразить ECHO !result! получил gfum100 Выходит vbs вызывается, а переменная не получает значения |
Отправлено: 18:08, 20-11-2013 | #4 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Цитата Instant_SR:
|
||
Отправлено: 19:02, 20-11-2013 | #5 |
Новый участник Сообщения: 26
|
Профиль | Отправить PM | Цитировать Так, тоже полезно, спасибо, но при выводе:
MsgBox WScript.Arguments.Item(0) получаю конструкцию: result=gfum100 выходит, нужно отсечь часть символов от начала, а просто к result как бы перейти, чтобы в дальнейшем пользоваться уже result как переменной? В начале OptionExplict есть, Dim result объявлена... |
Последний раз редактировалось Instant_SR, 21-11-2013 в 10:41. Отправлено: 10:04, 21-11-2013 | #6 |
Новый участник Сообщения: 26
|
Профиль | Отправить PM | Цитировать отбой... все решил... верней вызов из .bat был неверный:
было: cscript.exe //nologo "\\путь\файл.vbs" "result=!result!" надо: cscript.exe //nologo "\\путь\файл.vbs" "!result!" ну и в .vbs: это вначале обязательно. И при указании адреса для ярлыка, можно использовать: .TargetPath = "c:\" & WScript.Arguments.Item(0) & "\run.exe" тему "решаем" но пожелание осталось бы использовать не "громоздкую" конструкцию, а объявить в .vbs переменную result и пользоваться ей т.е. Dim result и .TargetPath = "c:\" & result & "\run.exe" |
Отправлено: 11:36, 21-11-2013 | #7 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Instant_SR, использование параметров — это не «громоздкая конструкция», а единственно разумный и правильный вариант (есть ещё один, мало разумный).
|
Отправлено: 14:22, 21-11-2013 | #8 |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
CMD/BAT - [решено] Передача переменной из цикла for | Vilgelm | Скриптовые языки администрирования Windows | 2 | 14-08-2011 15:27 | |
C/C++ - Передача переменной в другую программу. | ikif | Программирование и базы данных | 1 | 29-04-2011 21:50 | |
Передача переменной на другую страничку | darksmoke | Вебмастеру | 6 | 28-08-2008 01:04 | |
Передача переменной из PHP в JavaScript | rulllesss | Вебмастеру | 1 | 25-07-2005 09:27 | |
PHP и передача значений переменных... | Guest | Вебмастеру | 3 | 13-04-2004 14:01 |
|