programing tip

"UNC 경로가 지원되지 않습니다"라는 메시지없이 네트워크 공유에서 배치 파일을 실행하는 방법은 무엇입니까?

itbloger 2020. 10. 23. 07:38
반응형

"UNC 경로가 지원되지 않습니다"라는 메시지없이 네트워크 공유에서 배치 파일을 실행하는 방법은 무엇입니까?


네트워크 공유에서 배치 파일을 실행하려고하는데 "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의 네트워크 공유 드라이브에서 배치 파일을 사용하여 동일한 문제가 발생했습니다.

Another way that worked for me was to map the server to a drive through Windows Explorer: Tools -> Map network drive. Give it a drive letter and folder path to \yourserver. Since I work with the network share often mapping to it makes it more convenient, and it resolved the “UNC path are not supported” error.


My situation is just a little different. I'm running a batch file on startup to distribute the latest version of internal business applications.

In this situation I'm using the Windows Registry Run Key with the following string

cmd /c copy \\serverName\SharedFolder\startup7.bat %USERPROFILE% & %USERPROFILE%\startup7.bat

This runs two commands on startup in the correct sequence. First copying the batch file locally to a directory the user has permission to. Then executing the same batch file. I can create a local directory c:\InternalApps and copy all of the files from the network.

This is probably too late to solve the original poster's question but it may help someone else.


This is the RegKey I used:

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Command Processor]
"DisableUNCCheck"=dword:00000001

My env windows10 2019 lts version and I add this two binray data ,fix this error

Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Command Processor DisableUNCCheck value 1 Computer\HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Command Processor DisableUNCCheck value 1

참고URL : https://stackoverflow.com/questions/9013941/how-to-run-batch-file-from-network-share-without-unc-path-are-not-supported-me

반응형