Befehlsausgabe im Stapel aufteilen

Befehlsausgabe im Stapel aufteilen

Ich habe diesen Befehl, der Listen von Verzeichnissen und ihren Dateipfaden ausgibt:

for /d %%D in (C:\OS\system\DisplayLanguages) do echo %%~fD

Ich muss den letzten Teil der Ausgabe trennen, z. B. „C:\OS\system\DisplayLanguages\en“, damit ich nur die Ordnernamen habe.

Antwort1

In der Windows-Batch-Funktion werden die %%~fDRückgabenVollständig qualifizierter Pfadname, Sie können also

for /d %%D in (C:\OS\system\DisplayLanguages\*) do @echo %%~nxD

Z. B. in meinem Windows von der Befehlszeile aus:

FOR /D %G in (%windir%\system32\*) DO @Echo %~nxG

Das Gleiche wie

FOR /F "tokens=*" %G in ('dir /B /AD %windir%\system32\*') DO @Echo %~nxG

Antwort2

Ich habe gerade herausgefunden, dass Sie die gewünschte Ausgabe mit einem einfachen Befehl erhalten können:

dir /a:d /b

verwandte Informationen