标题: [文本处理] bat如何截取文本中文件路径格式的字符串 [打印本页]
作者: qiaoyinlu 时间: 2022-2-17 12:09 标题: 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能够从最后一行往前进行变量取值吗?
这样的文本操作还有其他形式实现的吗?谢谢
作者: Batcher 时间: 2022-2-17 13:10
回复 1# qiaoyinlu
test_1.bat- @echo off
- setlocal enabledelayedexpansion
- for /f "delims=" %%i in ('type "C:\certlist.txt"') do (
- set "str=%%i"
- echo !str:~0,-20!
- )
复制代码
作者: Batcher 时间: 2022-2-17 13:13
回复 1# qiaoyinlu
test_2.bat- @echo off
- setlocal enabledelayedexpansion
- for /f "delims=" %%i in ('type "C:\certlist.txt"') do (
- set "StrAll=%%i"
- set "StrRight=!StrAll:*\lib\=!"
- call set "StrLeft=%%StrAll:\lib\!StrRight!=%%"
- echo !StrLeft!
- )
复制代码
作者: qiaoyinlu 时间: 2022-2-17 13:57
回复 3# Batcher
厉害 钦佩之情无法表达!!!
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |