Tomcat 使用批处理脚本从变量获取父级
我正在看一本注册表。 然后我得到一个变量内部的路径。 我的做法如下:Tomcat 使用批处理脚本从变量获取父级,tomcat,batch-file,Tomcat,Batch File,我正在看一本注册表。 然后我得到一个变量内部的路径。 我的做法如下: FOR /F "skip=2 tokens=2*" %%A IN ('%SystemRoot%\system32\REG.exe QUERY "HKLM\SOFTWARE\Wow6432Node\Apache Software Foundation\Procrun 2.0\Tomcat7\Parameters\Log" /v Path') DO set WorkPath=%%B 工作路径的值类似于“C:\Program Fi
FOR /F "skip=2 tokens=2*" %%A IN ('%SystemRoot%\system32\REG.exe QUERY "HKLM\SOFTWARE\Wow6432Node\Apache Software Foundation\Procrun 2.0\Tomcat7\Parameters\Log" /v Path') DO set WorkPath=%%B
工作路径的值类似于“C:\Program Files\Apache Software Foundation\Tomcat 7.0\logs”
但问题是我需要变量“WorkPath”中的父目录
不使用“cd”或更改目录
“工作路径”中的路径应为“C:\Program Files\Apache Software Foundation\Tomcat 7.0”
所做的更改:
- 命令已拆分以更好地适应屏幕,不需要
- 将for子句中的
替换为skip
,以仅处理 预期行(在我的系统中,它需要find
来仅处理 所需线路)skip=4
- 并且,由于它是日志文件夹的路径,因此不直接分配
%%B(从注册表读取的值),而是获取到达该文件夹的路径,即父文件夹的路径。分配的值是
,即%%~dpB
中指向的文件夹所在的驱动器和路径%%B
set "regCmd=%SystemRoot%\system32\REG.exe QUERY "HKLM\SOFTWARE\Wow6432Node\Apache Software Foundation\Procrun 2.0\Tomcat7\Parameters\Log" /v Path"
FOR /F "tokens=2*" %%A IN ('%regCmd% ^| find "REG_SZ"') DO set "WorkPath=%%~dpB"