Board logo

标题: [文本处理] 批处理命令for /f 如何才能完整提取带有空格的行? [打印本页]

作者: pict    时间: 2013-6-14 13:28     标题: 批处理命令for /f 如何才能完整提取带有空格的行?

现有文本文档 a.txt内容如下:
第1行第1列 第1行第2列 第1行第3列
第2行第1列 第2行第2列 第2行第3列
第3行第1列 第3行第2列 第3行第3列
运行BAT命令
  1. for /f  %%i in (a.txt) do echo %%i
复制代码
只显示
第1行第1列
第2行第1列
第3行第1列
这是什么原因???
作者: Python    时间: 2013-6-14 14:18

默认只取第一列,如果要取正行:
  1. for /f "tokens=*" %%i in (a.txt) do echo %%i
复制代码
  1. for /f "delims=" %%i in (a.txt) do echo %%i
复制代码

作者: CrLf    时间: 2013-6-14 14:28

for /f 的默认参数类似这样:
  1. @echo off
  2. set "空格= "
  3. set "tab= "
  4. for /f "eol=; tokens=1 delims=%空格%%tab%" %%i in (a.txt) do echo %%i
  5. pause
复制代码

作者: pict    时间: 2013-6-14 15:00

回复 2# Python


    多谢了
作者: batman    时间: 2013-6-14 15:32

所有的白字符都是for /f的默认分隔符。。。
作者: CrLf    时间: 2013-6-14 15:39

回复 5# batman


    嘿嘿,全角空格也是白的噢




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