2015-01-26 2 views
0

내 배치 스크립트는 다음 디렉토리에 있습니다 상대 경로 :배치 - 해결

\\test\public\windows\scripts\32\test.bat 

나는이 폴더의 경로를 얻으려고 : 공공 \ WINDOWS \ \ 테스트 \ 로그 나는 시도했다 위해 %~dp0를 사용하여 스크립트의 경로를 얻기 위해, 나는 시도했다 :

SET REL_PATH=..\..\ 

것은 그것이 나에게이 폴더에 표시되지 않는 점이다.

답변

1
SET REL_PATH=..\..\ 

경로가에서 촬영 위치를 확인하려면에 따라 경로를 가리키는하는

echo %CD% 

가 당신에게 시스템을보고 경로를 알려줍니다 확인하십시오.

그런 다음 상대 경로를 %CD%에서 스크립트의 경로로 설정하십시오.

이 작업을 수행 한 후에 걸리면 댓글을 남기십시오. 예를를 들어

:

echo %CD% 

C:\windows\system32를 제공하고 당신은 당신이로 이동하려면

SET REL_PATH=%CD%\..\..\test\public\windows\scripts\32\ 

을 수행해야합니다 c:\test\public\windows\scripts\32\test.bat

에 배치 파일을 실행하려면UNC 경로를 해결하기

cd /d %REL_PATH% 

이 PUSHD 및 POPD을 수행합니다 :이 경로는 할

@echo off 
pushd \\test\public\windows\scripts\32\ 

::do your work 
test.bat 

popd 

참조 : How to run batch file from network share without "UNC path are not supported" message?

+0

경로는 'C : \ windows', 변수'REL_PATH' 내가'UNC' 경로를 사용하고 있기 때문에이 일이 나에게 아무것도 – user3502786

+0

을되어 제공되지 않는 이유는 무엇입니까? – user3502786

+0

내가 알고있는 것부터 배치 파일이 공유 네트워크 드라이브에 있고 컴퓨터에서 실행하고 싶습니다 ... 맞습니까? –

0

사용 PUSHD 명령을 네트워크 드라이브로 작업. 이렇게하면 UNC 경로에 사용되지 않는 드라이브 문자가 할당되어 정상적으로 탐색 할 수 있습니다. 그런 다음 POPD을 사용하여 해제 할 수 있습니다. 예를 들어

:

@ECHO OFF 

PUSHD "\\test\public\windows\scripts\32" 

REM This will be \\test\public\windows 
DIR ".\..\..\" 

POPD