Я пытаюсь создать скрипт FTP-передачи с помощью AutoIt с WinSCPКак передать пользовательский ввод в скрипт AutoIt для WinSCP?
Я использую winscp.com.
Я хочу взять данные от пользователя (через графический интерфейс), а затем использовать эти входы в моих командах для WinSCP.
Например, я хочу установить локальный каталог по выбору пользователя.
Текущая ситуация: я могу хранить вход пользователя, однако, когда я пытаюсь передать его в командной консоли WinSCP с помощью скрипта AutoIt, он либо не читает переменную, либо просто дает и не знает ошибку команды.
RunWait(@ComSpec & ' /k ' & 'winscp.com /command "option batch continue" ' & '"option confirm off" ' & ' "open xyz"' & ' "lcd" ' & $Dir)
Где $Dir
имеет значение для ввода данных пользователя с использованием сохраненного GUICtrlRead()
.
Просьба указать, есть ли другой способ заставить консоль WinSCP читать мои пользовательские данные (я хочу каждый раз захватывать уникальные данные пользователем, поэтому не хочу создавать файл конфигурации).
Благодаря
Я взял $ Dir вне цитат из «lcd», потому что мне нужен пользовательский ввод, который хранится в переменной. И в случае Auto это, если я заключу его в кавычки в соответствии с вашим предложением, переменная будет считана как строка вместо того, чтобы читать как varaible Также, поскольку мне нужно использовать несколько переменных, я разбил строку для будущее кодирование. (как только я нахожу решение этой проблемы: D –
Вы попробовали мое предложение вообще? Двойные кавычки не имеют ничего общего с AutoIt, они нужны WinSCP. WinSCP не поймет '' lcd '/ path/to/dir', он нуждается в '' lcd/path/to/dir''. Одиночные кавычки - это синтаксис AutoIt, а '$ Dir' находится за пределами одного кавычки в моем примере. –
Да, я сделал, спасибо! половина моей проблемы.Я могу теперь использовать varaible '$ Dir', однако мне нужно вручную определить его как' $ Dir = "C: \" ', а затем команда запускается успешно. Однако, если я передаю пользовательский ввод в свою переменную, я получаю ошибку как ** слишком много параметров для lcd **. Это то, что я использовать для захвата и передачи пользовательского ввода '$ locald = GuiCtrlCreateInput ("Местное Dir", -1, 10, 130, 20) \t GUICtrlSetPos ($ Dir, 145,40) $ = Dir GUICtrlRead ($ locald) ' Пожалуйста, сообщите мне, что я передаю параметры как-то –