1

Как я могу сделать мою переменную окружения (установленную в пакетном файле) видимой в приложении, выполняемом сразу после установки этого envvar?

Вот сценарий, который я использую:

  1. В моем внешнем скрипте (не очень важном здесь) я создаю ярлыки Windows для файлов jpg с целью, похожей на:

    %MYPHOTOSDRIVE%:\private\photos\photo001.jpg
    

    % MYPHOTODRIVE% должен содержать только текущую букву диска.

  2. Я запускаю IrfanView, используя следующий BAT-скрипт (скрипт находится в том же каталоге, что и все файлы .lnk):

    set MYPHOTOSDRIVE=%cd:~0,2%
    "c:\Program Files\IrfanView\i_view32.exe" "i:\private\photolinks\photo001.lnk"
    "c:\Program Files\IrfanView\i_view32.exe" /slideshow="%cd%"
    

Проблема в том, что ни одно изображение, ни слайд-шоу (для второго вызова IrfanView) не выполняется должным образом.

Разве эта переменная "MYPHOTODRIVE" не должна быть расширена до правильного значения при выполнении Irfan? Разве он не получает ту же среду, что и родительский скрипт?

1 ответ1

0

Проблема в том, что вы не передаете переменную окружения в IrfanView, например:

C:\> i_view32.exe %%myphotosdrive%%:\private\photos\photo001.jpg

Вы передаете это .LNK (который является двоичным). IrfanView не знает, как интерпретировать файлы ярлыков; он обрабатывает только графические файлы и тому подобное.

Лучше всего попросить Ирфана добавить возможность разрешать файлы ярлыков (он достаточно отзывчив и хорош в обработке вопросов поддержки и запросов функций).

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .