我在看注册表。然后我得到一个变量内的一条路径。我是这样做的:
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
WorkPath的值类似于"C:\Program \\Tomcat7.0\log“
但问题是,我希望在不使用"cd“或更改目录的情况下,从变量"WorkPath”中获取父目录。
"WorkPath“内部的路径应该是"C:\Program \\Tomcat7.0”
发布于 2014-01-04 11:14:49
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"
所做的改变:
skip
替换find
子句以只处理预期的行(在我的系统中,只需要skip=4
来处理所需的行)%%B
(从注册表读取的值)不同,因为它是日志文件夹的路径,所以获取到达该文件夹的路径,即父文件夹的路径。指定的值为%%~dpB
,即%%B
中指向的文件夹所在的驱动器和路径。https://stackoverflow.com/questions/20919708
复制相似问题