标题: [文本处理] 批处理for命令提取字符串之后如何删掉双引号? [打印本页]
作者: jefferson108 时间: 2010-3-23 23:55 标题: 批处理for命令提取字符串之后如何删掉双引号?
用for提取txt中一行中的字符串147258(不含引号),
"RestartShell"="147258"
for /f "tokens=2 delims=""" %%i in ('find /i "147258" 1.txt') do echo %%i
无法执行,
用for /f "tokens=2 delims==" %%i in ('find /i "147258" 1.txt') do echo %%i
出来的是"147258",我不想要那个引号,要怎么办啊???
作者: x9tiancmd 时间: 2010-3-24 08:50
for /f "delims="" %%i in ('find /i "147258" 1.txt') do echo.%%i
最后显示的就是你要提取的, 这下知道自己错在哪了吧
作者: bat007 时间: 2010-3-24 09:27
for命令是不允许使用双引号作为列分隔符的- @echo off
- for /f "tokens=2 delims==" %%i in ('find /i "147258" 1.txt') do (
- echo,%%~i
- )
复制代码
作者: x9tiancmd 时间: 2010-3-24 13:03
原帖由 bat007 于 2010-3-24 09:27 发表
for命令是不允许使用双引号作为列分隔符的@echo off
for /f "tokens=2 delims==" %%i in ('find /i "147258" 1.txt') do (
echo,%%~i
)
试了下还真的, 受教了谢谢
作者: IbatI 时间: 2012-4-1 11:24
set "var2=123456"
如果是这样要提取等号后面的内容又怎么办了,并且等号后面的内容不是一定的,也就是会是别的内容,比如ASDFJ。
那么有没有办法把文本中的引号去掉了??
作者: find 时间: 2012-4-1 13:38
回复 5# IbatI - @echo off
- for /f "tokens=2 delims==" %%a in (a.txt) do (
- set str=%%a
- call echo %%str:~,-1%%
- )
复制代码
作者: QIAOXINGXING 时间: 2012-4-1 13:52
回复 3# bat007
http://bathome.net/thread-12395-1-2.html 六楼,分号可以做分隔符。
作者: CrLf 时间: 2012-4-1 23:24
回复 5# IbatI - @echo off
- for /f "tokens=2 delims==" %%a in (a.txt) do (
- for /f "delims=" %%b in (^""%%a") do echo %%~b
- )
复制代码
补一个前缀双引号再用 for 消除
作者: pcl_test 时间: 2016-8-15 19:55
- for /f tokens^=^2^ delims^=^"^= %%i in (""RestartShell"="147258"") do echo %%i
- pause
复制代码
欢迎光临 批处理之家 (http://bathome.net./) |
Powered by Discuz! 7.2 |