Der Zustand im Innern der for
muss vom Batch-Parser syntaktisch analysiert werden, bevor er es an die in() Klausel als ausführbaren Befehl passieren kann. Um Sonderzeichen wie <,>, &, |,^oder% zu erhalten, müssen Sie sie im Skript zurückhalten. Das Escape-Zeichen in Batch ist "^".
die vertikale Leiste mit einem caret entkommen:
FOR /F "tokens=5 delims= " %P IN ('netstat -a -n -o ^| findstr :8080') DO TaskKill.exe /PID %P
Ich könnte auch hinzufügen, dass, wenn sie als .bat gespeichert sowie die Prozentzeichen zu entkommen. Anstelle von "% P" müssten Sie "%% P" verwenden.
Dies wäre eine viel bessere Antwort, wenn Sie [bearbeiten] und erklären sollten * warum * das Plakat sollte dies tun. Es wäre eine lehrreiche Antwort, von der nicht nur die Fragesteller dieser Frage profitieren würden, sondern auch andere, die sie in Zukunft sehen. * Informieren Sie * nicht darüber, warum dies notwendig ist. –
Vielen Dank! – mikezang
Viel bessere Antwort. :-) –