0
Windows 셸 (cmd.exe) 기본 제공 명령을 stdin에서 읽지 않는 이유는 무엇입니까?Windows Shell (cmd.exe) 기본 명령이 stdin에서 읽히지 않는 이유는 무엇입니까?
예 (또는 그렇게 보인다) :
echo bar | set /p foo=
Windows 셸 (cmd.exe) 기본 제공 명령을 stdin에서 읽지 않는 이유는 무엇입니까?Windows Shell (cmd.exe) 기본 명령이 stdin에서 읽히지 않는 이유는 무엇입니까?
예 (또는 그렇게 보인다) :
echo bar | set /p foo=
SET는/P는 파이프로부터 입력을 읽을 않지만, 파이프의 양쪽 새로운 cmd를 내에서 실행되기 때문에 그 어떤 좋은하지 않습니다. exe 프로세스. 따라서 파이프 하위 프로세스가 종료되면 새로 정의 된 변수가 손실됩니다. 자세한 내용은
은 스택 오버플로 질문에 the selected answer를 참조 - 자체 Why does delayed expansion fail when inside a piped block of code?
'설정/p'는 표준 입력에서 읽어 _does_. 이 예제에서 파이프 입력 만 있습니다. – SomethingDark
먼저 [이 답변보기] (http://stackoverflow.com/questions/8192318/why-does-delayed-expansion-fail-when-inside-a-piped-block-of-code/8193124#8193124) 먼저 , 전체 주제 ... – Aacini