Что нового

Передать параметры запуска через Run

Houshi

Новичок
Сообщения
10
Репутация
0
Доброго времени суток, уважаемые форумчане. Никак не получется передать параметр, через Run, если присутствует пробел (кавычки пробовал).
Код не мой, но разобран и подогнан под нужды из нескольких скриптов:

1.exe
Код:
#include <EditConstants.au3>

GUICreate("Форма ввода",250,100,-1,-1)

$sLogin = GUICtrlCreateInput('', 10, 10, 100, 20)
$sPass = GUICtrlCreateInput('', 10, 50, 100, 20,$ES_PASSWORD)
$sButton = GUICtrlCreateButton("Enter", 150, 30, 60, 20)

GUISetState()

While 1
       Switch GUIGetMsg()
	Case -3
	     Exit
			Case $sButton
         Run( '2.exe /login="' & GUICtrlRead($sLogin) & '" /password="' & GUICtrlRead($sPass) & '"' )
Exit
    EndSwitch
WEnd


2.exe
Код:
Local $vLogin = StringRegExp( $CmdLineRaw, '/login="([^\"]+)"', 1 )
    If IsArray( $vLogin ) Then $vLogin = $vLogin[0]

Local $vPass = StringRegExp( $CmdLineRaw, '/password="([^\"]+)"', 1 )
    If IsArray( $vPass ) Then $vPass = $vPass[0]

;MsgBox( 64, "", "Login=" & $vLogin & @LF & "Pass=" & $vPass )

Run ('"C:\Program Files\1cv82\8.2.19.76\bin\1cv8.exe" ENTERPRISE /S xxx.xxx.xxx.xxx\xxx /N '&$vLogin&' /P '&$vPass&'')



если в логине (или пароле) присутствует пробел, то данные передаются не корректно, а если &$vLogin& взять в кавычки, то вместо данных передается - $vLogin :(
 

firex

AutoIT Гуру
Сообщения
943
Репутация
208
Код:
Run ('C:\Program Files\1cv82\8.2.19.76\bin\1cv8.exe ENTERPRISE /S 192.168.2.10\vihino_retail /N "' & $vLogin & '" /P "' & $vPass & '"')


Поправил
 
Автор
H

Houshi

Новичок
Сообщения
10
Репутация
0
Нет, так к сожалению не получилось :(

да, и MsgBox - в любом случае выдает нормально, т.е. ему все равно есть ли пробелы, а вот в окно ввода логина и пароля в 1С, при наличии пробела, передается только первая часть (то, что до пробела)


Добавлено:
Сообщение автоматически объединено:

:smile: Спасибо


Добавлено:
Сообщение автоматически объединено:

пробовал почти так же, но одинарные и двойные кавычки наоборот ставил - не получалось
 

Neldezheil

B like Bee
Сообщения
27
Репутация
3
Попробуйте через ShellExecute или ShellExecuteWait (если требуется ожидание завершения выполнения вызванного приложения). Обе команды первым параметром берут путь до вызываемого приложения, вторым параметром - набор параметров запуска. Далее не вспомню, но в стандартном хелпе информация была.
Код:
ShellExecute ('C:\Program Files\1cv82\8.2.19.76\bin\1cv8.exe', 'ENTERPRISE /S 192.168.2.10\vihino_retail /N ' & $vLogin & ' /P ' & $vPass)
 

Fedorvv

Новичок
Сообщения
2
Репутация
0
Здравствуйте. Подскажите, если кто знает. Какой код нужно написать, чтобы из тела скрипта запускался другой скрипт (один или несколько)? простой Run с указанием пути к скрипту не работает.
Спасибо
 

madmasles

Модератор
Глобальный модератор
Сообщения
7,790
Репутация
2,322
Fedorvv,
Предупреждение За нарушение общих правил (пункт В.4):
Не лепите несколько вопросов разной тематики в один пост. По типу "Ребят, а ещё такой вопрос...". Каждый вопрос в свою тему.


С уважением, ваш Глобальный модератор.
 
Верх