명령 줄 .cmd / .bat 펼쳐서, 실행중인 펼쳐의 디렉터리를 가져 오는 방법
실행 된 디렉토리를 가져와야합니까?
Raymond Chen은 몇 가지 아이디어를 가지고 있습니다.
https://devblogs.microsoft.com/oldnewthing/20050128-00/?p=36573
MSDN 아카이브는 다소 경향이 있으므로 여기에 전체를 인용했습니다.
쉬운 방법은
%CD%
의사 변수 를 사용하는 것 입니다. 현재 작업 디렉토리로 확장됩니다.
set OLDDIR=%CD%
.. do stuff ..
chdir /d %OLDDIR% &rem restore current directory
(물론, 저장 / 복원 디렉토리는 더 쉽게 함께 할 수 있었다
pushd
/popd
하지만 여기 지점이 존재한다.)
%CD%
트릭은 명령 줄에서 편리하게 사용할 수 있습니다. 예를 들어, 작업 할 파일이있는 디렉토리에있는 경우가 많지만 ... 오, 작업을 수행 디렉토리로 chdir해야합니다.
set _=%CD%\curfile.txt
cd ... some other directory ...
somecommand args %_% args
(저는
%_%
스크래치 환경 변수 로 사용 하고 싶습니다.)
SET /?
명령 프로세서에서 제공하는 다른 의사 변수를 입력 하십시오.
또한 문서의 주석은 예를 들어 다음 기사를 스캔 할 가치가 있습니다 (WayBack Machine을 통해).
http://blogs.msdn.com/oldnewthing/archive/2005/01/28/362565.aspx#362741
여기에는 % ~ dp0 사용이 포함됩니다.
배치 파일이 어디에 있는지 어디에 있는지 :
%~dp0
%0
배치 파일의 이름입니다.~dp
지정된 인수의 드라이브 및 경로를 제공합니다.
이 펼쳐의 경로와 동일합니다.
%~dp0
다음 배치 변수 확장 구문을 사용합니다. 매개 변수 0은 항상 펼쳐져 있습니다.
펼쳐서 저장하시면 C:\example\script.bat
로 %~dp0
평가 C:\example\
됩니다.
ss64.com 에는 다음 변수 확장 구문에 대한 자세한 정보가 있습니다. 관련 발췌문은 다음과 가변합니다.
명령 줄에서 % 번호 위치를 사용하여 변수의 값을 수 있습니다.
[...]
매개 변수를 사용하여 파일 이름을 제공하면 다음 확장 구문을 적용 할 수 있습니다.
[...]
% ~ d1 % 1을 (를) 드라이브 문자로만 확장 -C :
[...]
% ~ p1 % 1을 경로로만 확장합니다 (예 : \ utils \). 여기에는 일부 명령에서 이스케이프 문자로 해석 될 수있는 후행 \이 포함됩니다.
[...]
위의 수정 튼 결합 할 수 있습니다.
% ~ dp1 % 1을 드라이브 문자와 경로로만 확장합니다.
[...]
% 0을 사용하여 배치 펼쳐집니다 (예 : W : \ scripts \).
for /F "eol= delims=~" %%d in ('CD') do set curdir=%%d
pushd %curdir%
'ProgramingTip' 카테고리의 다른 글
IntelliJ에서 Maven 계층을 보는 방법 (0) | 2020.10.11 |
---|---|
WiFi를 통해 adb를 사용하여 Android Studio에서 수행하는 방법 (0) | 2020.10.11 |
Ruby에서 배열 생성 또는 추가 (0) | 2020.10.11 |
Laravel에서 배열의 유효성을 검사하는 방법은 무엇입니까? (0) | 2020.10.11 |
Babel 7로 업그레이드 : null의 '바인딩'속 읽을 수 없습니다. (0) | 2020.10.11 |