[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文本处理] bat如何截取文本中文件路径格式的字符串

各位坛友,
c:\Program Files\JetBrains\PyCharm Community Edition 2021.1.1\jbr\lib\security\cacerts
c:\Program Files (x86)\Java\jre1.8.0_291\lib\security\cacerts
c:\Program Files (x86)\XMind\jre\lib\security\cacerts

我需要截取lib前的路径,比如 c:\Program Files (x86)\XMind\jre\并加上c:\Program Files (x86)\XMind\jre\bin\keytool来进行证书导入。
我已经dir搜索磁盘下的所有证书保存到certlist.txt文件中,文件内容如上粘贴的文件路径。

当我获取到所有证书路径后需要把它截取lib之前的路径保存为变量,然后加上\bin\keytool来执行下一步的导入证书。
@echo off
for /f "delims=\ tokens=*,n-1" %%i in (c:\certlist.txt) do echo %%i %%j %%k %%l %%m
pause

请问delims可以使用单词lib分割吗?我尝试了好像不行。还有tokens能够从最后一行往前进行变量取值吗?

这样的文本操作还有其他形式实现的吗?谢谢

回复 1# qiaoyinlu


test_1.bat
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. for /f "delims=" %%i in ('type "C:\certlist.txt"') do (
  4.     set "str=%%i"
  5.     echo !str:~0,-20!
  6. )
复制代码
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

回复 1# qiaoyinlu


test_2.bat
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. for /f "delims=" %%i in ('type "C:\certlist.txt"') do (
  4.     set "StrAll=%%i"
  5.     set "StrRight=!StrAll:*\lib\=!"
  6.     call set "StrLeft=%%StrAll:\lib\!StrRight!=%%"
  7.     echo !StrLeft!
  8. )
复制代码
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

回复 3# Batcher


    厉害 钦佩之情无法表达!!!

TOP

返回列表