Используйте пробелы в параметрах командной строки Windows
Мой скрипт AutoIt:
WinWaitActive("Open")
Send($CmdLine[1])
Send("{ENTER}")
Я выполняю его из Java (передавая ему путь к файлу):
String autoITExecutable = "C:\\filechooser.exe " + fileSource;
Имя файла содержит пробелы, поэтому он читает имя файла до первого пробела и игнорирует остаток. Как правильно передать пути к файлам, содержащие пробелы, в качестве аргумента командной строки?
1 ответ
Имя файла содержит пробелы, но оно читает имя файла только для первого пробела и сокращает имя файла.
В соответствии с Документация - Введение - Запуск сценариев:
Если вы передаете строки с пробелами, вам нужно будет экранировать их, используя "двойные кавычки" в строке командной строки.
Без, текст после пробела будет содержаться в следующем элементе массива ($CmdLine[2]
в этом случае). Пример Java:
String autoITExecutable = "C:\\filechooser.exe \"" + fileSource + "\"";
Необработанная командная строка (одна строка) доступна согласно $CmdLineRaw
от получения скрипта AutoIt.