PATH 변수를 편집하지 않고 명령 행 검색 경로 확장


0

에 새로운 디렉토리를 추가하지 않고 시스템 검색 경로를 확장하고 싶습니다 . 명령 줄에서 사용하지 않는 항목을 사용할 때만 레지스트리 항목에 액세스한다는 것을 %PATH%알고 있습니다. 창문에 어떤 메커니즘이 있습니까?App PathsShellExecuteEx

답변:


0

앱 경로 는 내가 아는 한 검색 경로에 사용할 수 없지만 시스템 및 사용자 환경 변수에 대해 별도의 PATH를 정의 할 있습니다 . 실행 파일 검색에는 두 항목 모두에 모든 항목이 포함됩니다.

시스템 PATH길이 가 문제인 경우 다른 환경 변수를 정의하고 참조하여 약어를 사용할 수 있습니다 (예 :

프로그램 파일 (x86)로 환경 변수 PF32 작성

에서 PATH , C는 : \ 인텔 \ 프로그램 파일 (86)은 다음에 단축 % PF32 % \ 인텔 .


0

경로를 추가하는 대신 경로를 불필요하게 확장하거나 충돌하는 환경 변수를 추가하는 특수 응용 프로그램의 환경 변수를 설정하는 짧은 배치 파일을 작성하는 경우가 많습니다.

다음은 run-winvile.bat에없는 GUI 프로그램에 대한 명령 행 액세스를 제공 하는 예제 ( )입니다 PATH. setlocal변경된 환경의 범위를 제한하는 데 사용 됩니다.

@echo off
setlocal
set WINVILE_DIR="C:\Program Files (x86)\VI Like Emacs\bin"
cd %WINVILE_DIR%
IF ERRORLEVEL 1 goto :finish  
set WINVILE_EXE=WinVile-wide-ole.exe
if exist %WINVILE_EXE% start %WINVILE_EXE% %1 %2 %3 %4 %5 %6 %7 %8 %9
:finish
endlocal

이 예제는 다음에서 상충되는 일부 이름을 제거합니다 PATH.

@echo off
setlocal
rem trim path to get rid of cygwin
set PATH=C:\Program Files\Common Files\Microsoft Shared\Windows Live;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files (x86)\Microsoft SQL Server\100\Tools\Binn\;C:\Program Files (x86)\Microsoft SQL Server\100\DTS\Binn\;C:\com

rem add PERL for vile's builds
set PATH=%PATH%;c:\perl\5.8.5\bin;c:\perl\5.8.5\bin\mswin32-x86-multi-thread

call "c:\program files (x86)\microsoft visual studio 9.0\vc/vcvarsall.bat" %1
shift
run-winvile %*
endlocal
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.