Board logo

标题: [文本处理] 批处理for /f delims的一个问题? [打印本页]

作者: superflq    时间: 2021-7-8 22:04     标题: 批处理for /f delims的一个问题?

最近在学习批处理For语句从入门到精通(完整版)_20101225
有一个问题,有没大大能帮忙看下的
有个文本
[test.txt]
"大家好"你好"我好"

如何才能用for /f 把他们提取出来,要的效果如下
大家好 你好 我好

我试了这么下面这个感觉不行,研究了usebackq好像也用,有没大大支支招
  1. @echo off
  2. for /f "delims="" %%i in (test.txt) do echo %%i
  3. pause
复制代码

作者: superflq    时间: 2021-7-8 22:13

用转义^,貌似也不行
@echo off
for /f "delims=^"" %%i in (test.txt) do echo %%i
pause
作者: idwma    时间: 2021-7-8 22:20

for /f delims^=^" %%i in (test.txt) do echo %%i
作者: qixiaobin0715    时间: 2021-7-8 22:21

  1. @echo off
  2. for /f tokens^=1-3^ delims^=^" %%i in ("大家好"你好"我好") do echo %%i %%j %%k
  3. pause
复制代码

作者: superflq    时间: 2021-7-8 22:26

回复 4# qixiaobin0715


    谢谢,大大
作者: superflq    时间: 2021-7-8 22:31

回复 3# idwma


    谢谢大大,可以搞定我的问题,但是如果是 又带了一个参数,比如eol了,好像又不行了,
[test.txt]
"大家好"你好"我好"
;"大家好"你好"我好"
  1. @echo off
  2. for /f delims^=^"  eol=; %%i in (test.txt) do echo %%i
  3. pause
复制代码
  1. @echo off
  2. for /f delims^=^"  eol^=^; %%i in (test.txt) do echo %%i
  3. pause
复制代码
这2种好像,都不行,求解
作者: idwma    时间: 2021-7-8 22:42

回复 6# superflq


    4楼不是有讲嘛,空格也要转义
作者: superflq    时间: 2021-7-8 22:47

回复 7# idwma


    原来如此,谢谢




欢迎光临 批处理之家 (http://bbs.bathome.net/) Powered by Discuz! 7.2