1

Тема: AHK: Запуск программы через comspec

Привет! Есть программа для конвертации jpeg в pdf - "jpeg2pdf". Для нее попалась такая команда, конвертирующая каждое изображение из папки в отдельный pdf-файл:

forfiles /p %CD% /m *.jp* /c "cmd /c jpeg2pdf @file -o @file.pdf"

Как ее правильно запустить из AHK-скрипта? Пробую так:

RunWait, %comspec% /c "forfiles /p %CD% /m "%A_ScriptDir%\*.jp*" /c "cmd /c "%A_ScriptDir%\jpeg2pdf.exe" @file -o @file.pdf"",, UseErrorLevel

2

Re: AHK: Запуск программы через comspec

Не понимаю, что такое %CD%. Может так:

RunWait, %comspec% /c forfiles /p %CD% /m *.jp* /c "cmd /c jpeg2pdf @file -o @file.pdf", % A_ScriptDir, Hide UseErrorLevel
Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder

3

Re: AHK: Запуск программы через comspec

Спасибо, что обратили внимание на %CD% - оказывается, это была переменная для папки с файлами. Вместо %CD% надо было указать переменную папки: %A_ScriptDir%.

4

Re: AHK: Запуск программы через comspec

В данном случае тогда не надо, рабочая папка указана в параметре. То-есть, можно вообще убрать /P %CD%.

Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder

5

Re: AHK: Запуск программы через comspec

Может, даже так сработает:

RunWait, forfiles /m *.jp* /c "cmd /c jpeg2pdf @file -o @file.pdf", % A_ScriptDir, Hide UseErrorLevel
Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder

6

Re: AHK: Запуск программы через comspec

Да, работает. Только не понятно, как применить команду к файлам, которые могут лежать в разных папках, а не только в той, в которой находится экзешник. К примеру, в формате командного файла не срабатывает, если изменить слово jpeg2pdf - на путь к экзешнику:

forfiles /p %CD% /m *.jp* /c "cmd /c jpeg2pdf @file -o @file.pdf"

7

Re: AHK: Запуск программы через comspec

Можно так попробовать:

RunWait, forfiles /m *.jp* /c "cmd /c ^"D:\MyFolder\jpeg2pdf.exe^" @file -o @file.pdf", D:\FolderWithJpegFiles, Hide UseErrorLevel
Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder

8

Re: AHK: Запуск программы через comspec

Спасибо! Так заработало:

RunWait, %comspec% /c "forfiles /p %A_ScriptDir% /m *.jp* /c "cmd /c ^"D:\MyFolder\jpeg2pdf.exe^" @file -o @file.pdf"",, UseErrorLevel

9

Re: AHK: Запуск программы через comspec

А так разве не работает:

RunWait, %comspec% /c forfiles /m *.jp* /c "cmd /c ^"D:\MyFolder\jpeg2pdf.exe^" @file -o @file.pdf", % A_ScriptDir, UseErrorLevel

?

Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder

10

Re: AHK: Запуск программы через comspec

Точно, работает. Видимо, какое-то условие не учел, с кириллицей в пути или пробелами.