Wie verwende ich den Befehl "start", ohne Handles im untergeordneten Prozess zu erben?

Dies ist ein minimales Beispiel, das mein Problem veranschaulicht:

:: test.bat
@echo off
call test2.bat 2>&1 | findstr foo
echo done calling test2

:: test2.bat
@echo off
start /B notepad >NUL
echo done starting child process

In diesem Beispiel wird findstr erst abgeschlossen, wenn der Editor geschlossen ist. Dies liegt vermutlich daran, dass der Editor stdout vom übergeordneten cmd-Prozess geerbt hat. Wie kann ich test2.bat so ändern, dass test.bat nicht hängt?

Antworten auf die Frage(2)

Ihre Antwort auf die Frage