1 (изменено: DD, 2017-02-05 14:28:08)

Тема: AHK: Обработка командных строк

В окне OpenOffice.org (типа Ворда) GetCommandLine() показала помещенную в код строку и захотелось сделать их более-менее эффективную обработку (может уже есть такая готовая?)). Для этого разбил строку в местах кавычек и оставил только пути. Дальше задумался: как удалить из списка все несуществующее, включая ссылки на папки, и растасовать оставшееся по переменным? —


Var = "C:\Program Files\OpenOffice.org 3\program\swriter.exe" "-o" "C:\((\Документ Microsoft Word.rtf" "-writer" "-env:OOO_CWD=2C:\\Windows\\system32"

Var := RegExReplace(Var, """", "`n")
Var := RegExReplace(Var, "\\\\", "\")
Var := RegExReplace(Var, "([A-Za-z]:\\)", "`n$1")
Var := RegExReplace(Var, "m`a)^(?!\w:).+") ; удал. не начинающиеся на \w:\
Var := RegExReplace(Var, "\R+\s*", "`n")   ; удал. пуст. строки
MsgBox % Var

2

Re: AHK: Обработка командных строк

Всегда ли выводимые пути в командной строке обрамляются в кавычки?

3

Re: AHK: Обработка командных строк

Путям без пробелов кавычки не требуются.
Комстроки можно посмотреть в диспетчере задач (добавка: Вид > Выбрать столбцы... > ☑ Командная строка).

+ DD