在我的 Win7 x64 机器上,当我运行此命令来查找当前文件夹名称时
for %* in (.) do echo %~n*
它适用于包含字母字符的文件夹。但是,对于仅包含数字的文件夹名称,最后一部分会被截断。
例如
C:\temp\2.4.0> for %* in (.) do echo %~n* # outputs 2.4
C:\temp> for %* in (.) do echo %~n* # outputs temp
不确定为什么会发生这种奇怪的行为。还有其他方法可以找出当前文件夹名称吗?“当前”是指运行 bat 文件的文件夹。
答案1
对于文件夹名称为“2.4.0”的情况,Windows 会将“2.4”视为名称,将“.0”视为扩展名。
因此,如果您想要全名(包括扩展名),那么您需要使用%~nx*
。
顺便说一句,这是非常奇怪的代码。用作*
FOR 变量可能会让普通人感到困惑。