批量分割命令输出

批量分割命令输出

我有这个命令,它提供目录及其文件路径的列表:

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

我需要分离输出的最后一部分,例如“C:\OS\system\DisplayLanguages\en”,这样我就只剩下文件夹名称了。

答案1

在 Windows 批处理中,%%~fD返回完全限定路径名,因此你可以使用

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

例如在我的 Windows 中从命令行:

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

相同

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

答案2

我刚刚发现你可以通过简单的命令获得想要的输出:

dir /a:d /b

相关内容