Board logo

标题: [文本处理] 批处理for /f不能读取空格后面的字符? [打印本页]

作者: sluly    时间: 2009-11-12 16:04     标题: 批处理for /f不能读取空格后面的字符?

我创建了一个txt文件,内容是:
i am coming

批处理语句是:
  1. @echo off
  2. for /f %%i in (text1.txt) do echo %%i
  3. pause
复制代码
但是执行后的结果是:
i

空格后面的没有读出来,这是怎么回事呢?不是说这个/f可以取出文件中的内容么?
作者: Seter    时间: 2009-11-12 16:30

空格被认为是分隔符了
重置delims即可
  1. for /f "delims=" %%i in (text1.txt) do echo %%i
复制代码

作者: vsbat    时间: 2009-11-12 16:57

for  语句 默认以空格为分割副,且只提取第一节----
"delims="   取消分割符即可
作者: sluly    时间: 2009-11-13 08:41

成功了,呵呵,谢谢各位高手
作者: nerfg002    时间: 2009-11-14 01:08

不要分隔符时要把delims写在最后面如:
if /f "tokens=1 delims=" %%i do echo %%i

写成:
if /f "delims= tokens=1" %%i do echo %%i
是不行的




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