2015-01-12 2 views
0

배치 파일에서 NSlookup 명령을 사용하려고합니다. CMD 프롬프트에서 명령을 입력하면 제대로 작동합니다. IP를 해결하고 에코합니다. 배치 스크립트에서 같은 명령을 사용하면 "프로세스가 존재하지 않는 파이프에 쓰기를 시도했습니다"라는 메시지가 나타나고^C가 계속 반복됩니다. 내 명령에 무슨 문제가 있니? CMD에서NSlookup 명령은 CMD에서 작동하지만 배치는 수행하지 않습니다.

내가 입력 배치 명령 I을 사용하고

for /f "tokens=2 delims=: " %i in ('nslookup %domain%^|find "Address"') do echo 
address=%i 

하고 :

for /f "tokens=2 delims=: " %%i in ('nslookup %domain%^|find "Address"') do echo 
address=%%i 
+1

공백 개수. 전체 내용을 한 줄에 넣으면 작동합니다. –

+0

처음에는 공백이 없다고 생각합니다. 메모장의 줄 바꿈이라고 생각합니다. 나는 그것이 한 줄에 모두 있었는지 확인하고 나는 여전히 같은 결과를 얻는다. 빠른 응답 주셔서 감사합니다 – Konan

+0

'domain'이 (가) 정의되어 있습니까? 정의하지 않으면 배치 파일이 멈추고 아무 것도하지 않지만 그렇지 않으면 제대로 작동합니다. –

답변

-1

이것은 파이프 든 종료되었음을 의미한다. 이것은 find을 사용할 때 문제가 될 수 있습니다.

find 대신 findstr을 사용해보세요.

+0

findstr으로 변경하려고 시도했지만 동일한 결과가 나옵니다. 그래도 고마워. – Konan

0

분명히 올바른 구문을 사용하고 있으며 임의로 동일한 스크립트 파일을 클릭하여 작동했습니다. 내가 최근에 변경 한 유일한 것은 nslookup의 절대 경로를 지정하는 것이지만, 내가 그랬던 당시에는 작동하지 않았습니다. 여러분 모두를 도와 주셔서 감사합니다!

관련 문제