일괄적으로 설정된 환경 변수가 바로가기에서 확장되지 않습니다.

일괄적으로 설정된 환경 변수가 바로가기에서 확장되지 않습니다.

이 envvar를 설정한 후 바로 실행되는 응용 프로그램에 내 환경 변수(배치 파일에 설정)가 표시되도록 하려면 어떻게 해야 합니까?

내가 사용하는 시나리오는 다음과 같습니다.

  1. 내 외부 스크립트(여기서는 그다지 중요하지 않음)에서 대상이 다음과 같은 jpg 파일에 대한 Windows 바로 가기를 만듭니다.

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

    %MYPHOTODRIVE%에는 현재 드라이브 문자만 포함되어야 합니다.

  2. 다음 BAT 스크립트를 사용하여 IrfanView를 시작합니다(스크립트는 모든 .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에 대한 두 번째 호출용)가 제대로 실행되지 않는다는 것입니다.

Irfan 실행 시 이 "MYPHOTODRIVE" 변수를 적절한 값으로 확장하면 안 되나요? 상위 스크립트와 동일한 환경을 얻지 않습니까?

답변1

문제는 IrfanView에 환경 변수를 전달하지 않는다는 것입니다. 예:

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

당신은 그것을 전달하고 있습니다.LNK파일(바이너리)입니다. IrfanView는 바로가기 파일을 해석하는 방법을 모릅니다. 그래픽 파일 등만 처리합니다.

최선의 방법은요구Irfan은 바로가기 파일을 해결하는 기능을 추가했습니다(그는 반응이 빠르고 지원 질문과 기능 요청을 잘 처리합니다).

관련 정보