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

[文本处理] 批处理命令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列
这是什么原因???

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

TOP

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
复制代码

TOP

回复 2# Python


    多谢了

TOP

所有的白字符都是for /f的默认分隔符。。。
***共同提高***

TOP

回复 5# batman


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

TOP

返回列表