Windows에서 배치 스크립트의 경로를 가져오는 방법은 무엇입니까?
나는 그것을 알고 있습니다.%0
에는 배치 스크립트의 전체 경로가 포함됩니다.c:\path\to\my\file\abc.bat
난 그럴거야.path
와 동등한c:\path\to\my\file
어떻게 하면 그것을 이룰 수 있을까요?
%~dp0
디렉토리가 됩니다.다음은 모든 경로 수정자에 대한 설명서입니다.재미있는 것 :-)
최종 백슬래시를 제거하려면 다음을 사용할 수 있습니다.:n,m
하위 문자열 구문(예:
SET mypath=%~dp0
echo %mypath:~0,-1%
나는 그것을 결합할 방법이 없다고 생각합니다.%0
와의 구문:~n,m
불행히도 구문.
%~dp0
상대 경로일 수 있습니다.이 경로를 전체 경로로 변환하려면 다음과 같은 방법을 사용합니다.
pushd %~dp0
set script_dir=%CD%
popd
다음 스크립트를 사용하여 "\" 뒤로 이동하지 않고 경로를 가져올 수 있습니다.
for %%i in ("%~dp0.") do SET "mypath=%%~fi"
%~dp0 - 스크립트가 실행된 경로를 반환합니다.
그러나 다음 중 하나에 대해서도 알아야 합니다.
%CD% - 런타임에 현재 경로를 반환합니다. 예를 들어 "cd folder1"을 사용하여 다른 폴더에 들어간 다음 "cd folder2"를 사용하면 스크립트가 위치한 원래 경로가 아닌 folder2까지 전체 경로를 반환합니다.
사용할 수 있습니다.%~dp0
d는 드라이브만, p는 경로만, 0은 배치 파일의 전체 파일 이름에 대한 인수입니다.
예를 들어 파일 경로가 C:\Users\Oliver\Desktop\example.bat 인수는 C:\Users\Oliver\Desktop\ 명령을 사용할 수도 있습니다.set cpath=%~dp0 && set cpath=%cpath:~0,-1%
다음을 사용합니다.%cpath%
후행 슬래시를 제거할 변수입니다.
%cd%
스크립트가 실행 중인 디렉터리의 경로를 제공합니다.
그냥 실행:
echo %cd%
그것이 그것이 될 것입니다.%CD%
변수.
@echo off
echo %CD%
%CD%
배치 스크립트가 있는 현재 디렉터리를 반환합니다.
언급URL : https://stackoverflow.com/questions/3827567/how-to-get-the-path-of-the-batch-script-in-windows
'programing' 카테고리의 다른 글
package.json에 없는 패키지의 node_modules 폴더를 정리하는 방법은 무엇입니까? (0) | 2023.05.21 |
---|---|
Crbug/1173575, 비 JS 모듈 파일은 더 이상 사용되지 않습니다.chrome webdata/ (인덱스) ꞉5305:9:5551 (0) | 2023.05.16 |
데이터베이스의 특정 스키마에 대한 모든 권한을 Postgre의 그룹 역할에 부여SQL (0) | 2023.05.16 |
mongodump가 지정된 일부 컬렉션을 무시합니다. (0) | 2023.05.16 |
System.web.mvc가 없습니다. (0) | 2023.05.16 |