有什么方法可以通过Windows中的cmd知道上层文件夹(目录)的名称是什么?例如,你在C:\ A \ B \ C我需要一个告诉B的命令
答案 0 :(得分:2)
是的,有 - 使用for
循环:
set "FOLDER=C:\A\B\C"
for %%J in ("%FOLDER%") do for %%I in ("%%~dpJ.") do echo(%%~nxI
当%%~dpJ
扩展为C:\A\B\
时,外循环需要上升一级;让我们追加.
%%~dpJ.
来获取C:\A\B\.
,这相当于C:\A\B
;最后,需要内部循环来检索引用目录的纯名称,因为%%~nxI
返回B
。
也可以使用一个for
循环:
set "FOLDER=C:\A\B\C"
for %%I in ("%FOLDER%\..") do echo(%%~nxI
..
表示一级上升,C:\A\B\C\..
因此等同于C:\A\B
;最后,%%~nxI
再次返回B
。
答案 1 :(得分:2)
替代方案,使用内置的%CD%变量。
从命令提示符:
For %A In ("%CD%\..\.") Do @Echo(%~nxA
从批处理文件:
@For %%A In ("%CD%\..\.") Do @(Echo(%%~nxA&Timeout 5 1>Nul)