변수 FILE_OR_FOLDER_NAME
에 (절대 또는 상대, 로컬 또는 UNC, 공백을 포함 또는 포함하지 않고 기존 또는 존재하지 않는) Windows 파일 또는 디렉터리 이름이 포함되어있는 경우 배치 파일에서 다음 명령은 해당 file:
URL을 가변 FILE_URL
:
for /f "delims=" %%R in ("%FILE_OR_FOLDER_NAME%") do set FILE_URL=%%~fR%
set FILE_URL=file:///%FILE_URL%
set FILE_URL=%FILE_URL:///\\=//%
set FILE_URL=%FILE_URL:\=/%
줄 1 절대 하나에 대하여 파일명을 확장; 2 번째 줄은 file:///
; 3 행은 UNC 경로의 특별한 경우를 처리합니다. 4 행에서는 슬래시 만 사용합니다.
함께 표현하면, 이들 변환은 \\remotehost\share\folder
에서 file://remotehost/share/folder
까지이며, d:\folder
에서 file:///d:/folder
입니다.
필자의 테스트가 끝나면 위의 명령은 항상 SVN 명령 줄에서 허용되는 file:
URL로, 다른 용도로도 사용할 수 있습니다. D:/my test#repo
이 file:///D:/my test#repo
이되고, 기술적으로 정확하지 :
정말 정확하지 않은 유일한 것은, 공간과 #
같은 다른 특수 문자가 제대로 URL 인코딩 된 결과 file:
URL에없는 것입니다. 그러나 SVN 명령 줄 구문 분석기가 관계없이 저장소를 찾는 이후 내 특정 사용 예에서이 문제가 발생하지 않습니다.