• 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏吧

如何查找字符的位置并使用批处理文件提取字符串的一部分

string 来源:Dost Arora 3次浏览

我的批处理文件读取注册表项的值并将其值存储在变量key中。所以价值恰巧是"H:\KMSpico\KMSpico\Uninst.exe" /u0=KMSpico 。我想提取在""中包含的该字符串的部分。并将其存储在另一个变量中,如uninstall。我可以通过以下代码轻松完成它:SET uninstall=%key:~1,30%。但问题在于,指定Uninst.exe的位置的Uninst.exe之前的部分,即H:\KMSpico\KMSpico\可能会根据用户安装软件的位置而改变,因此要提取的部分的长度可能会改变。但是上面的代码被设置为只能提取字符串最多30个字符。如何查找字符的位置并使用批处理文件提取字符串的一部分

因此,我想知道是否有办法,以便我们知道第二个"的位置,以便知道要提取的字符数。或者如果有另一种方式,就这样做。

===========解决方案如下:

所以你使用的是盗版窗户? :-)

试试这个

@echo off 
rem :: I suppose you are capable to get the value from the registry and save is as variable. 
set "reg_key="H:\KMSpico\KMSpico\Uninst.exe" /u0=KMSpico" 
for /f "usebackq tokens=1" %%a in ('%reg_key%') do set "uninstaler=%%~a" 
echo %uninstaler% 

版权声明:本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系管理员进行删除。
喜欢 (0)