네트워크 공유에서 배치 파일을 실행하려고하는데 “UNC 경로가 지원되지 않습니다. 기본값은 Windows 디렉토리입니다.”라는 메시지가 계속 표시됩니다. 배치 파일은에 있습니다 \\Server\Soft\WPX5\install.bat
. 관리자로 로그인 한 상태에서 Windows 7 데스크탑 \\Server\Soft\WP15\
에서 install.bat 를 찾아 두 번 클릭하면 “UNC 경로가 지원되지 않습니다.”라는 메시지가 표시됩니다. 메시지. 매핑 드라이브가 작동하지 않는다는 온라인 제안을 찾았지만 심볼릭 링크를 사용하면이 문제가 해결되지만 심볼릭 링크가 작동하지 않았습니다. 아래는 내 배치 파일 콘텐츠입니다. 내가하려는 작업을 수행하는 데 도움이 될 수있는 도움을 주시면 감사하겠습니다. 기본적으로 .NET에서 배치 파일을 실행할 수 있기를 원합니다 \\Server\Soft\WP15\install.bat
.
배치 파일 내용
mklink /d %userprofile%\Desktop\WP15 \\server\soft\WP15
\\server\soft\WP15\setup.exe
robocopy.exe "\\server\soft\WP15\Custom" /copyall "C:\Program Files (x86)\WP\Custom Templates"
Regedit.exe /s \\server\soft\WPX5\Custom\Migrate.reg
또한 설치가 완료된 후 심볼릭 링크를 제거하려면 어떻게해야합니까?
답변
PUSHD 및 POPD는 귀하의 경우에 도움이 될 것입니다.
@echo off
:: Create a temporary drive letter mapped to your UNC root location
:: and effectively CD to that location
pushd \\server\soft
:: Do your work
WP15\setup.exe
robocopy.exe "WP15\Custom" /copyall "C:\Program Files (x86)\WP\Custom Templates"
Regedit.exe /s WPX5\Custom\Migrate.reg
:: Remove the temporary drive letter and return to your original location
popd
PUSHD /?
자세한 내용은 명령 줄에서 입력 하십시오.
답변
이 보안 검사를 방지하기 위한 레지스트리 설정 이 있습니다 (하지만 위험을 감수하고 사용).
레지스트리 경로 아래
HKEY_CURRENT_USER
\ Software
\ Microsoft
\ Command 프로세서DisableUNCCheck REG_DWORD 값을 추가하고 값을 0 x 1 (Hex)로 설정합니다.
참고 :
Windows 10 버전 1803에서 설정은 HKLM : HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Command Processor 아래에있는 것 같습니다.
답변
cls
가장 좋은 답 이라고 생각 합니다. 누구나 볼 수 있기 전에 UNC 메시지를 숨 깁니다. @pushd %~dp0
스크립트를 열고 위치를 한 번에 매핑하는 것처럼 보이도록 바로 뒤에 결합 하여 추가 UNC 문제를 방지했습니다.
cls
@pushd %~dp0
:::::::::::::::::::
:: your script code here
:::::::::::::::::::
@popd
메모:
pushd
새 매핑 된 드라이브의 스크립트 위치로 작업 디렉토리를 변경합니다.
popd
마지막에 매핑 된 드라이브를 정리합니다.
답변
기본적으로 해당 메시지를 보지 않고 UNC 경로에서 실행할 수 없습니다.
내가 일반적으로하는 일은 CLS
스크립트 맨 위에을 두는 것이므로 해당 메시지를 볼 필요가 없습니다. 그런 다음 사용해야하는 네트워크 공유에있는 파일의 전체 경로를 지정합니다.
답변
Windows 탐색기 만 서버 공유를 탐색 한 다음 배치 파일을 두 번 클릭하여 실행할 수 있어야했습니다. @dbenham은 내 시나리오에 대한 더 쉬운 솔루션을 제공했습니다 ( popd
걱정 없이 ).
:: Capture UNC or mapped-drive path script was launched from
set NetPath=%~dp0
:: Assumes that setup.exe is in the same UNC path
%NetPath%setup.exe
:: Note that NetPath has a trailing backslash ("\")
robocopy.exe "%NetPath%Custom" /copyall "C:\Program Files (x86)\WP\Custom Templates"
Regedit.exe /s %NetPath%..\WPX5\Custom\Migrate.reg
:: I am not sure if WPX5 was typo, so use ".." for parent directory
set NetPath=
pause
답변
탐색기에서 직접 배치를 시작하는 대신 배치에 대한 바로 가기를 만들고 바로 가기 속성에서 시작 디렉터리를 % TEMP % 등의 로컬 경로로 설정합니다.
심볼릭 링크를 삭제하려면 rmdir 명령을 사용하십시오.
답변
최근 Windows 7의 네트워크 공유 드라이브에서 배치 파일을 사용하여 동일한 문제가 발생했습니다.
나를 위해 일한 또 다른 방법은 Windows 탐색기를 통해 서버를 드라이브에 매핑하는 것입니다. 도구-> 네트워크 드라이브 매핑. \ yourserver에 대한 드라이브 문자와 폴더 경로를 지정하십시오. 네트워크 공유 작업을 자주하기 때문에 더 편리하게 사용할 수 있으며 “UNC 경로가 지원되지 않습니다.”오류가 해결되었습니다.
