поиск .exe без известного пути, Microsoft Batch - PullRequest
0 голосов
/ 05 ноября 2018

Я хочу изменить размер некоторых изображений с помощью инструмента Imagemagick. Чтобы использовать этот инструмент, очевидно, что он должен быть установлен на ПК. Но это не всегда так, поэтому перед изменением размеров скрипт должен проверить, установлен ли imagemagick. Если он не установлен, пакетный файл устанавливает уже загруженную версию Imagemagick.

:start

if exist "C:\Program Files\ImageMagick-7.0.8-Q16\magick.exe" goto found

goto notfound

:notfound
    echo magick.exe was not found
    cd %~dp0\im_setup
    ImageMagick-7.0.8-14-Q16-x64-dll /SP /SILENT /NORESTART /NOICONS
    goto start
goto end


:found
    echo magick.exe was found
    cd %~dp0\Pictures
    "C:\Program Files\ImageMagick-7.0.8-Q16\magick.exe" mogrify -resize 1250X833 *.JPG
goto end


:end

Сейчас все работает довольно хорошо, , но если пользователь установил более старую или более новую версию ImageMagick, пакетный файл не найдет magick.exe, поскольку имя папки другое. В общем, это нечистое решение.

Есть ли способ, пакетный файл находит magick.exe сам по себе?

1 Ответ

0 голосов
/ 05 ноября 2018
dir /b /s /a "c:\program files\magick.exe" "c:\program files (x86)\magick.exe"
If errorlevel 1 ImageMagick-7.0.8-14-Q16-x64-dll /SP /SILENT /NORESTART /NOICONS
If errorlevel 0 echo Do nothing

Получите общее представление, подобное тому, что вы делаете. См if /? и dir /?.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...