2011-05-10 5 views
7

내가 네트워크 공유에 BAT 파일을 실행하려고하지만 난이 오류를 얻을 :창 박쥐 파일 오류

'\\dev\applets' 
CMD.EXE was started with the above path as the current directory. 
UNC paths are not supported. Defaulting to Windows directory. 

해결이 거기입니다?

감사합니다.

+0

2012 년에도 여전히 문제가 있다고 믿을 수 없다. –

답변

7

먼저 네트워크 공유를 마운트 할 수있는 기회가 있습니까?

net use \\dev\applets z: 
z:\mybatchfile.bat 
+0

... 또는 마우스를 사용하여 매핑하려는 경우 @ RB의 조언을 따르십시오 (예 : –

+1

). 드라이브 Z가 이미 사용 중이라면 어떻게해야합니까? 어떻게하면 오류를 잡아 내고 대신 다른 문자를 사용할 수 있습니까? 이 배치 파일은이 드라이브 문자가 이미있는 많은 사용자가 액세스 할 수 있어야합니다. – clamp

3

매핑 된 네트워크 드라이브를 만들 수 있습니다. 당신은 윈도우 XP에있는 가정, 과정은 다음과 같습니다 Windows 탐색기 창에서

, Tools

  • 클릭 Map Network Drive
  • 드라이브 문자 및 폴더를 선택

    • 을 클릭합니다 (예 : X:\\dev\applets)
    • 클릭 Finish

    이제 명령 프롬프트에

    x: 
    cd applets 
    

    을 입력하고 배치 파일을 실행할 수 있습니다.

    대안으로

    는 또한 네트워크 드라이브를 매핑 할 NET USE 명령을 사용할 수 있습니다. 예 :

    NET USE X: \\dev\applets 
    x: 
    

    ERRORLEVEL을 테스트하여 명령이 성공적으로 완료되었는지 확인할 수 있습니다. 코드의 this 화려한 비트 덕분에, 나는이 솔루션을 제안 할 수 있습니다 :

    @echo off 
    set alpha=zyxwvutsrqponmlkjihg 
    SET completed=false 
    
    FOR /L %%i in (1,1,23) DO CALL :MAPDRIVE 
    
    :MAPDRIVE 
        set drive=%alpha:~0,1% 
        set alpha=%alpha:~1,23% 
    
        IF NOT %completed%==true (
         ECHO Attempting to mount drive as %drive% 
         NET USE %drive%: \\dev\applets 
        ) 
    
        IF %ERRORLEVEL% EQU 0 SET completed=true 
    
    
    GOTO END 
    
    :END 
    
  • +0

    그가 마운트하고있는 공유 이름이'\\ dev \ applets'라고 가정하면 x :는'shares'에 직접 매핑되므로'cd '할 필요가 없다. 그것으로. –

    +0

    좋은 캐치 - 방금 복사하여 다른 코드 블록에서 붙여 넣었습니다. –

    +0

    나는 여기서 그것을 시도 할 수는 없지만, "X :"는 \\ dev \ applets를'net use'와 함께 사용해야 할 필요가 있다고 확신한다 ... –

    6

    드라이브 매핑없이 이동하려면 Microsoft KB의 registry hack을 사용할 수 있습니다.

    배치 스크립트가 시작될 때 자동으로 드라이브에 UNC 경로를 매핑하는 명령 행 처리기를 얻을 수
    +0

    은 OS X에서 Parallels의 \ psf \ drive에 배치 스크립트를 실행하는 데 매우 효과적입니다. – TechSavvySam

    +0

    링크가 죽었으므로이 답변에 대한 세부 정보를 다시 제공하면 좋을 것입니다. – JamesD

    5

    : 스크립트가 종료 될 때

    pushd %~dp0 
    echo %CD% 
    popd 
    

    하면 popd의 명령이 실행이, 또는 드라이브가 될 것입니다 때 자동으로 매핑 해제됩니다.

    유일한 단점은 스크립트를 실행할 때 여전히 오류 메시지가 표시된다는 것입니다.

    5

    나는 스크립트가 잘 실행되는 동안 동일한 문제가 발생했다. CMD.EXE 헤더는 성가 셨다.

    해당 텍스트를 보류하려면 단순히 스크립트의 첫 번째 줄로 CLS를 호출하면됩니다.

    이것은 불쾌한 CMD.EXE 헤더를 제거하고 나중에 원하는 것을 표시합니다.

    희망이 도움이됩니다.

    관련 문제