Extrahieren Sie einen Teil der Befehlsausgabe zur Verwendung in einem anderen Befehl

Extrahieren Sie einen Teil der Befehlsausgabe zur Verwendung in einem anderen Befehl

Ich möchte möglichst mehrere Dateien mit der Windows-Eingabeaufforderung entsperren und löschen, und zwar mit einem einzigen Befehl. Bisher ist mir Folgendes eingefallen:

net file | findstr /R [0-9]*lock

Das führt zu:

12345 C:\MyProgram\0001.lock user.name 0
12346 C:\MyProgram\0002.lock user.name 0
12347 C:\MyProgram\0003.lock user.name 0
12348 C:\MyProgram\0004.lock user.name 0
12349 C:\MyProgram\0005.lock user.name 0

Der erste Teil der Zeichenfolge (ID) würde wie folgt verwendet werden:

net file 12345 /close

Der zweite Teil der Zeichenfolge (Pfad) würde wie folgt verwendet:

del C:\MyProgram\0001.lock

Ich möchte dies in ein Batch-Skript einfügen, das jede von findstr ausgegebene Zeile durchgeht, den 1. und 2. Teil erfasst und die Befehle entsprechend ausführt. Für jede Hilfe wäre ich sehr dankbar.

verwandte Informationen