Используйте пробелы в параметрах командной строки 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.

Другие вопросы по тегам