Что нового

Открыть файл и передать ему параметры

Zero

Новичок
Сообщения
11
Репутация
0
Приветствую всех
Пытаюсь открыть исполняемый файл и передать ему параметры, но пока ни чего не выходит.
Код:
$sFile = FileOpenDialog('Выберите файл', @WindowsDir & '\', 'Исполняемые файлы (*.exe;*.cmd;*.bat)', 1)
;If Not $sFile Then Exit
$sCD = @ScriptDir
$spsexec = 'psexec.exe'
$sParametrs = '-s -i'	
Run ($sCD &' '& $spsexec &' '& $sParametrs &' '& $sFile)
 

zlo-kazan

Скриптер
Сообщения
374
Репутация
100
попробуй: ShellExecute
ShellExecute
--------------------------------------------------------------------------------

Запустить внешнюю программу с помощью вызова функции ShellExecute API


ShellExecute ( "filename" [, "parameters" [, "workingdir" [, "verb" [, showflag]]]] )




Параметры

filename Название файла приложения (EXE, .txt, .lnk и т.п.).
parameters (опциональный) параметры программы.
workingdir (опциональный) Рабочий директорий. Пустая строка "" означает текущую папку.
verb (опциональный) действие:
open - (стандартное значение) открыть указанное в параметре filename. Открывать можно выполняемый файл (программу), документ или просто папку.
edit - редактировать указанный файл. Если filename не документ, то возникает ошибка!
print - напечатать указанный файл. Если filename не документ, то возникает ошибка!
properties - отобразить свойства файла или папки
showflag (опциональный) флаг отображения выполняемой программы:
@SW_HIDE - скрыть
@SW_MINIMIZE - свернуть
@SW_MAXIMIZE - развернуть
 

VladUs

Скриптер
Сообщения
621
Репутация
181
Попробуйте так
Код:
Run(@ComSpec & " /c " & $spsexec & " " & $sParametrs &' '& $sFile , "", @SW_HIDE)


Если в пути к файлу имеются пробелы то путь необходимо заключать в двойные ковычки...
 

Medic84

Омега
Команда форума
Администратор
Сообщения
1 575
Репутация
335
Код:
Run ($sCD &'\'& $spsexec &' '& $sParametrs &' "'& $sFile & '"')

Попробуйте. Скажите только для чего нужен psexec.exe

P.S. Уже прочитал.
Если файл находится рядом со скриптом, то такой код должен сработать. Если нет - то соответственно нужно сменить путь =)
 

VladUs

Скриптер
Сообщения
621
Репутация
181
Medic84 [?]
Скажите только для чего нужен psexec.exe
По параметрам видно, что необходимо запустить некую программу от SYSTEM и притом интерактивно
 
Автор
Z

Zero

Новичок
Сообщения
11
Репутация
0
Перепробывал представленные вами примеры все кроме [ShellExecute], пока без результатно, psexec.exe будет хранится в каталоге со скриптом, а запускать файл с параметрами SYSTEM нужно что б было по выбору.
 
Автор
Z

Zero

Новичок
Сообщения
11
Репутация
0
Решение найденно, спасибо всем за ответы.
Код:
Run($cds1 & $spsexec & " " & $sParametrs &' '& $sFile , "", @SW_HIDE)
 

CreatoR

Must AutoIt!
Команда форума
Администратор
Сообщения
8 473
Репутация
2 403
Zero [?]
Решение найденно
Неужели работает?

$sCD это путь к папке скрипта, $spsexec это имя запускаемого файла. Получается что к пути добавляется имя файла, но ведь разделителя нет. Это сработает только если скрипт находится в корне диска, иначе просто не сработает.

P.S
В первом сообщений ошибка в пробеле после $sCD, там должен быть слеш вместо пробела.
 
Верх