Batch file 获取运行批处理文件的文件夹名称(版本号)的最简单方法是什么?
我有以下文件夹结构: C:\SomeFolder\SubFolder\Version\Version\IMS 我在C:\SomeFolder\SubFolder\Version中有一个批处理脚本,需要输入目录Version\u IMSBatch file 获取运行批处理文件的文件夹名称(版本号)的最简单方法是什么?,batch-file,Batch File,我有以下文件夹结构: C:\SomeFolder\SubFolder\Version\Version\IMS 我在C:\SomeFolder\SubFolder\Version中有一个批处理脚本,需要输入目录Version\u IMS 版本可以是例如5.3.12.0,并且在更改时不是恒定的。所以我不知道 我需要在脚本中提取它所在的最后一个目录,例如5.3.12.0,然后我可以进入5.3.12.0\u IMS 最简单的方法是什么 for %%a in ("%~dp0.") do cd /d "%%
版本可以是例如5.3.12.0,并且在更改时不是恒定的。所以我不知道 我需要在脚本中提取它所在的最后一个目录,例如5.3.12.0,然后我可以进入5.3.12.0\u IMS 最简单的方法是什么
for %%a in ("%~dp0.") do cd /d "%%~fa\%%~nxa_IMS"
在哪里
%~dp0
是当前批处理文件的驱动器和路径
%%~fa
是可替换参数%%a的引用的元素的完整路径
%%~nxa
是可替换参数%%a
的引用的元素的名称和扩展名
因此,我们检索包含批处理文件的文件夹的引用,获取该文件夹的名称,并使用它将(我使用了cd
)输入子文件夹,由于某些原因,这不起作用。我用echo替换“cd”,并获取:/d“folder\SubFolder\5.2.15.37\\u IMS”5.2.15.37\\u IMS是真实的,而我替换的另一部分是。。。看起来%%~nxa不起作用了…@ilayzeidman,对不起,输入错误。我漏掉了一个点。答案已更新。