2013-10-22 1 views
3

네트워크 경로의 두 개의 다른 드라이브에 구성 요소가있는 일부 프로그램을 설치하는 방법을 알아 내려고합니다. 그러나 내가 pushd \\xyz\c$을 사용할 때마다 매핑 된 드라이브를 얻습니다. 즉, c:\install e:\mycomponents.dll을 사용하는 것에 대한 지식을 사용할 수 없습니다. 어쨌든 일단 pushd 명령을 사용하면이 작업을 수행 할 수 있습니까?pushd - cmd에서 여러 드라이브 처리

예를 들어 드라이브를 동일하게 유지하려면 어떻게해야합니까? 서비스를 설치하는 중입니다. 따라서 서비스를 설치할 때 경로를 .exe의 실제 위치와 동일하게 유지해야합니다. 즉, 문제가 발생하고 있음을 의미합니다.

실제로 pushd를 사용하는 방법이 있습니까?하지만 실제로는 드라이브를 매핑하지는 않습니까? 서비스를 설치할 때, 내가 net use을 사용했을 때, 설치가 가능한 서비스가 시작될 때 실제 .exe를 찾지 못해 매핑 된 드라이브에 설치하는 데 문제가 있음을 발견했습니다. 서비스 업.

그래서이 문제를 해결하려면 net use 또는 pushd 또는 서비스를 같이 설치할 수있는 조합을 사용하는 방법이 있습니까? c:\windows\..\installutil e:\mynode?

명확히하기 위해, 필자는 상대 드라이브 즉, E : \ 및 C : \로 원격 시스템의 두 드라이브를 모두 볼 수 있어야합니다. 매핑 된 드라이브 문자를 사용하면 서비스 설치가 어려움 나는 그 길을 사용할 수 없기 때문에.

문제 1 : 내가 PUSHD를 사용하는 경우

, 그때 내가 서버에 모두 드라이브 문자를 볼 수 없습니다.

net use i: %Machine1PathFRM% 
pushd %Machine1PathZIP% 
i:\installutil /username=ABC /password=abc %ZMN% 
popd 

문제 2 : 그것 때문에

그때 나는 그것이 서비스를 실행에 관해서는이 유틸을 설치 말씀이 사용할 수 있습니다 동안 net use를 사용하는 경우, Windows는 로컬 파일을 찾을 수 없습니다 실제로 매우 성가신 일종의 파일 매핑 프로세스를 수행했습니다.

REM Install Processes Machine 1 

REM net use e: %Machine1PathZIP% 
REM net use i: %Machine1PathFRM% 
REM i:\installutil /username=ABC /password=abc e:\%ZMN% 
REM i:\installutil /username=ABC /password=abc e:\%ZPL% 
+0

정말로 작업중인 단일 DOS OS를 사용하고 있습니까? 아니면 윈도우에서 프롬프트 창을 사용하고 있습니까? – user2284570

+0

나는 승 7을 사용하고있다 – disruptive

+0

당신의 질문은 이제 약간 혼란 스럽다. 배치 스크립트의 관련 부분을 표시해야합니다. – jeb

답변

3

pushd //xyz/c$ 또한 매핑 된 드라이브 문자로 현재 디렉토리를 변경합니다.

pushd //xyz/c$ 
for /F "delims=" %%A in ("%cd%") do set "mapDrive=%%~dA" 
%mapDrive%\install %mapDrive%:\mycomponents.dll 
+0

Dos 운영 체제를 사용하는 경우 작동하지 않습니다. 배치 용 확장 명령은 NT 버전의 Windows에서만 사용할 수 있기 때문입니다. CMD.exe는 원래 command.com보다 훨씬 강력합니다. – user2284570

+1

@ user2284570 그는'PUSHD'를 사용하기 때문에 DOS를 사용할 수 없습니다. – jeb

+0

MS-DOS를 사용하는 경우입니다. 그러나 다른 DOS 구현이 있습니다. 대부분의 FreeDos 앱 일괄 처리 인터프리터에는 Pushd 명령이 있습니다. 그러나 for 명령의 구문은 cmd.exe와 완전히 다릅니다. 또한 그는 DOS 태그를 사용했습니다 (설명을보십시오). 오늘날 FreeDos는 MS-DOS보다 많이 사용됩니다. 또한 MS-DOS 환경을위한 향상된 통역사 : 4DOS라고 불렀습니다. – user2284570