我想在命令行的变量中保存证书的别名。 获取有关我使用的证书的信息:
keytool -list -keystore mykeystore -storepass xyz
结果如下:
Keystore type: JKS
Keystore provider: SUN
Your keystore contains 1 entry
certreq-ip[...]ac37, 22.06.2015m PrivateKeyEntrym
Certificate fingerprint (SHA1): AE:5A:....**
我的命令如下:
for /F "tokens=1,2 delims= " %A IN ('keytool -list -keystore mykeystore.jks -storepass myKeystorePassword') do set alias=%B
我想得到的是来自" certreq"的字符串部分。直到逗号。
任何人都可以帮助我吗?我认为空间是错误的分隔符,因为我想获得第一个项目,当然之前没有空格。但是不可能使用像"token=0,1"...
答案 0 :(得分:2)
如果你想要的是$out
,那么:
certreq-ip[...]ac37
似乎有效。您正在以for /f "delims=," %a in ('keytool -list -keystore mykeystore.jks -storepass myKeystorePassword^|findstr PrivateKeyEntry') do set alias=%a
过滤,因为Stavr00建议并使用逗号作为分隔符。请注意,如果您将其放入批处理文件中,PrivateKeyEntry
将需要成为%a
。