
NAS의 Windows 시스템에 매핑된 네트워크 드라이브가 두 개 있습니다. 두 드라이브 모두 동일한 사용자 이름/비밀번호 구성이 필요하며 Windows에 이를 기억하지 않도록 선택했습니다. 왜냐하면 내 파일에 액세스하기 위한 최소한의 요구 사항은 적어도 하나의 비밀번호를 입력해야 하기 때문입니다. 그렇죠?
이로 인해 Windows는 로그인 시 네트워크 드라이브를 연결하지 않고 다음과 같은 일반적인 오류를 표시합니다.
놀랍게도 Windows는 내 네트워크 공유에 대한 암호를 모를 때 무엇을 해야할지 전혀 모릅니다.
따라서 이 프로세스를 자동화하는 방법은 다음과 같습니다. 부팅하고 로그인한 후 창에 액세스하려고 할 때 표시되는 것과 같은 네트워크 로그인 팝업 창을 표시하고 싶습니다. 성공적으로 로그인한 다음 Windows에서 네트워크 드라이브를 연결해 보도록 하겠습니다.
어떻게 이것을 달성할 수 있습니까?
(저는 이를 자동화하기 위해 Windows 시스템에서 네트워크 로그인과 동일한 사용자 이름과 로그인을 사용할 수 있다는 것을 잘 알고 있지만 일반적으로 다른 사람들에게 권장하는 방법이라 할지라도 그렇게 하고 싶지 않습니다.)
답변1
나는 기본적인 배치 기술을 사용하여 이를 달성하려고 했습니다. 내가 생각 해낸 것은 다음과 같습니다.
먼저 폴더 창을 별도의 프로세스로 시작하도록 창을 구성합니다(모든 폴더를 동일한 explorer.exe 아래에 유지하지 않고). 이렇게 하면 명령 프롬프트/배치 스크립트를 통해 폴더를 닫을 수 있습니다.
다음으로 이 배치 파일을 작성하여 **C:\Users\Username\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup**에 넣습니다(굵은 글자가 아닌 이유는 무엇입니까?).
@echo off
start explorer "D:\"
:loop
timeout 0
(net use | findstr OK) > nul 2>&1
if errorlevel 1 goto loop
taskkill /F /FI "WINDOWTITLE eq NETWORKDRIVELABEL*" /IM explorer.exe
start /wait explorer "G:\"
timeout 0
taskkill /F /FI "WINDOWTITLE eq NETWORKDRIVE2LABEL*" /IM explorer.exe
start /wait explorer "F:\"
timeout 0
taskkill /F /FI "WINDOWTITLE eq NETWORKDRIVE3LABEL*" /IM explorer.exe
start /wait explorer "H:\"
timeout 0
taskkill /F /FI "WINDOWTITLE eq NETWORKDRIVE4LABEL*" /IM explorer.exe
stop
드라이브 문자를 시스템에 적용되는 문자로 바꾸고 NETWORKDRIVELABEL을 적절한 네트워크 드라이브 이름으로 바꾸면 됩니다. 이는 창 제목의 전체 이름이 "NETWORKDRIVELABEL (\SHARENAME) (DRIVELETTER)"이기 때문에 필요하지만 전체 창 제목을 작성하는 대신 간단히 별표(*)를 사용하여 모든 탐색기 프로세스를 닫도록 정의합니다. NETWORKDRIVELABEL로 시작하는 창 제목.
이는 Windows의 파일 탐색기를 사용하여 네트워크 공유 "D:\"를 열려고 시도하는 것입니다. 네트워크 공유이기 때문에 로그인하라는 메시지가 표시됩니다. 그 후 프로그램이 실행되는 곳에서 루프가 실행됩니다.순사용 | findstr 확인("net use"의 출력에서 "OK"를 찾습니다) OK를 찾을 때까지 계속 진행하지 않습니다. (이 부분에서는 초기화된 네트워크 드라이브가 없다고 가정합니다. findstr을 어떻게 더 자세히 설명해야 할지 모르겠습니다. bash의 grep만큼 좋지는 않습니다.)
그런 다음 네트워크 드라이브가 제대로 연결되어 있음을 감지하자마자 탐색기로 다른 네트워크 드라이브를 연 다음 닫는 방식으로 다른 네트워크 드라이브를 매핑하려고 시도합니다.
배치 파일 끝에서 중지 명령을 사용해야 했습니다. 그렇지 않으면 정상적으로 끝나지 않습니다(사용자 입력을 기다림).
이 작업을 수행하고 명령 창을 숨기려면 여기를 참조하세요."명령 창"을 시작하지 않고 배치 파일을 실행하는 방법은 무엇입니까?