Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » AutoIt » [решено] Вызов Run() с параметрами

Ответить
Настройки темы
[решено] Вызов Run() с параметрами

Старожил


Сообщения: 186
Благодарности: 4

Профиль | Отправить PM | Цитировать


Добрый день! Читал справку про вызов Run() с разными параметрами. К примеру, можно так: Run('AutoIt3.exe myscript.au3'). А как узнать, какие параметры еще можно вводить?
К тому же, как можно создать свой скрипт со своими параметрами? Например, чтобы параметр присваивался переменной в вызванном через Run скрипте:

Скрипт 1, имя myscript.au3
Код: Выделить весь код
msgbox(0,0,$Param)
Скрипт 2
Код: Выделить весь код
Run('AutoIt3.exe myscript.au3 $Param1')
Что нужно дописать в скрипт 1, чтобы там в мсгбоксе показывался параметр ($Param1), введенный во втором скрипте?

Отправлено: 10:49, 25-10-2009

 

Аватара для kaster

Старожил


Сообщения: 367
Благодарности: 91

Профиль | Отправить PM | Цитировать


Help -> Command line parameters

-------
Русское сообщество пользователей AutoIt
autoit@conference.jabber.ru - Конференция на jabber.ru


Отправлено: 11:35, 25-10-2009 | #2



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

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


Аватара для Medic84

$AutoITer


Автор проектов


Сообщения: 446
Благодарности: 44

Профиль | Отправить PM | Цитировать


1 скрипт:
Код: Выделить весь код
MsgBox(0,"Проверка", $Cmdline[1])
2 скрипт:
Код: Выделить весь код
Run('myscript.exe "Параметр"')
;или
Run('AutoIt3.exe myscript.au3 "Параметр"')
Причем: 1.Параметр - в этом случае должен быть в кавчках!
2. $Cmdline[0] - содержит количество параметров
$Cmdline[1] - параметр - название переменной менять нельзя

-------

AutoIT Русское сообщество| Моя лаборатория

Это сообщение посчитали полезным следующие участники:

Отправлено: 13:46, 25-10-2009 | #3


Старожил


Сообщения: 186
Благодарности: 4

Профиль | Отправить PM | Цитировать


Цитата kaster:
Help -> Command line parameters »
В смысле это http://www.autoitscript.com/autoit3/...tm#CommandLine ? Я там был.

Отправлено: 17:50, 25-10-2009 | #4


Старожил


Сообщения: 186
Благодарности: 4

Профиль | Отправить PM | Цитировать


Продолжение темы: когда указываешь путь к файлу, который запускать, как указывать пробелы? Если писать тупо " ", ф-цией Run это воспринимается как начало нового параметра. Пытаюсь засунуть файл с определенным путем в Rar архив.
Код: Выделить весь код
$Cm="a D:\мои фильмы\(DivX)Jimy Hendrix-Live at Woodstock--GIO.avi"
Run("C:\Program Files\WinRAR\WinRAR.exe "&$Cm)
Вышеприведенный код не работает.
P.S. Буду благодарен, если кто-то объяснит, как через Run() архивировать с созданием томов по n байт каждый.

Отправлено: 20:14, 21-11-2009 | #5


Аватара для SyDr

Старожил


Сообщения: 215
Благодарности: 62

Профиль | Отправить PM | Цитировать


Кавычки тебе нужны и при запуске архиватора из командной строки. Тебе просто нужно записать их на AutoIt.
При формировании строки ты можешь сделать это двумя способами:
1) Если строка находится в "", то одну двойную кавычку можно записать, как "" (две двойные). Пример "Это ""текст"" с кавычками"
2) Указывать строку в '' (две одинарные кавычки). 'Это "текст" с кавычками'.

Оба варианта равноправны.

-------

"Что мы думаем, знаем или во что верим в конце концов не так уж и важно.
Важно лишь то, что мы делаем."
Джон Раскин

Это сообщение посчитали полезным следующие участники:

Отправлено: 20:29, 21-11-2009 | #6


Старожил


Сообщения: 186
Благодарности: 4

Профиль | Отправить PM | Цитировать


Благодарю! Заработало! Сделал так:

Код: Выделить весь код
$sWhatToPack="""D:\Мои фильмы\(DivX)Jimy Hendrix-Live at Woodstock--GIO.avi"""
$sDestinationPath="""D:\Мои фильмы\test.rar"""
$Cm="a "&$sDestinationPath&" "&$sWhatToPack
Run("C:\Program Files\WinRAR\WinRAR.exe "&$Cm)
Теперь надо понять, как создать многотомный архив каждый том по n байт. Лезу в хелп винрара:
Цитата:
Пример:

WinRAR a –v1200 –s –sfx bitmaps

В данном примере создается самораспаковывающийся непрерывный архив с томами размером 1 200 000 байт.
Исправляю 3-ю строку кода на
Код: Выделить весь код
$Cm="a v1200 "&$sDestinationPath&" "&$sWhatToPack
Не получается. Пробую v1200 менять на ""v1200"", v""1200"" - все тщетно. Как же правильно оформить команду?

Отправлено: 00:36, 22-11-2009 | #7


Аватара для SyDr

Старожил


Сообщения: 215
Благодарности: 62

Профиль | Отправить PM | Цитировать


Умм... Хорошо. Только у меня нет ВинРара. Покажу для 7-zip'а (Правда, благодаря ARJ у них у всех одинаковый формат командной строки). Почитал справку, понял, что интересуюющая меня строка выглядит так:
7z a -v1200k "D:\Video\жизнь с луи\7zipped\archive.zip" "D:\Video\жизнь с луи\05 Рыбка по имени Перец.avi"
На AutoIt я могу записать её, как:
'7z a -v1200k "D:\Video\жизнь с луи\7zipped\archive.zip" "D:\Video\жизнь с луи\05 Рыбка по имени Перец.avi"'

Но это не совсем правильно. Например, надо изменить имя архива или другие файлы добавить.
Код: Выделить весь код
$sFileToPack = '"D:\Video\жизнь с луи\05 Рыбка по имени Перец.avi"'
$sDestination = '"D:\Video\жизнь с луи\7zipped\archive.zip"'
$sCMD = '7z a -v1200k ' & $sDestination & ' ' & $sFileToPack

Цитата evg64:
Исправляю 3-ю строку кода на »
А куда - перед v дел?

-------

"Что мы думаем, знаем или во что верим в конце концов не так уж и важно.
Важно лишь то, что мы делаем."
Джон Раскин

Это сообщение посчитали полезным следующие участники:

Отправлено: 10:40, 22-11-2009 | #8


Старожил


Сообщения: 186
Благодарности: 4

Профиль | Отправить PM | Цитировать


Круто, заработало, спасибо! Кстати я пытался - ставить -, но тоже что-то делал не так и не получалось.

Отправлено: 13:04, 22-11-2009 | #9


Новый участник


Сообщения: 1
Благодарности: 0

Профиль | Отправить PM | Цитировать


Вроде и справку почитал и форум, но что-то не получается..
Товарищи знатоки, подскажи.

При таком запросе всё получается и работает, а как сделать через переменную?
Код: Выделить весь код
Run ('7za.exe a -tzip -ssw -mx7 MyFolder.zip "C:\Documents and Settings\MyName\Application Data\MyFolder"', '', @SW_HIDE)
Пробовал так, но безуспешно. Создаётся лишь пустой архив, хотя через батник с этой переменной всё работает.
Код: Выделить весь код
Run ('7za.exe a -tzip -ssw -mx7 MyFolder.zip "%AppData%\MyFolder"', '', @SW_HIDE)
В качестве пути не смог прикрутить.
Код: Выделить весь код
@AppDataDir & "\MyFolder"

Отправлено: 19:23, 12-05-2010 | #10



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » AutoIt » [решено] Вызов Run() с параметрами

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
[решено] Открыть ссылку с параметрами cra5h_ AutoIt 7 23-11-2009 18:21
WMI - [решено] Запуск .BAT файла с параметрами через WMI Glamorama Скриптовые языки администрирования Windows 3 07-10-2009 11:12
HotKeySet и вызов функции с параметрами r35p3ct AutoIt 4 24-09-2009 16:28
Ошибка - Can't run 16-bit Windows program insufficient memory to run application kris2002 Microsoft Windows 2000/XP 4 11-08-2008 19:50
Shortcuts don't Run - Unable to run this command eXtremer Microsoft Windows NT/2000/2003 1 12-06-2007 12:11




 
Переход