Board logo

标题: [文本处理] 批处理使用delims切割文本时,如何让无切割条件的内容保存? [打印本页]

作者: xueboppppx    时间: 2011-11-5 18:50     标题: 批处理使用delims切割文本时,如何让无切割条件的内容保存?

使用for /f delims切割文本时,为何我保存的结果中只有符合切割条件的内容,而不符合切割条件的内容却都不见了,请看代码如下:
  1. for /r ip目录\ %%a in ("ip.txt") do (
  2. rem 注释:将当前目录下的“ip目录”目录中的所有.TXT文件遍历到变量a中;
  3. for /f "delims=;" %%b in (%%a) do (
  4. rem 注释:将变量a中的所有遍历TXT文件里的字符进行“&”切割;
  5. echo %%b >>ip目录\temp.tes
  6. rem 注释:将每一行切割的结果临时存放到“temp.tes”文本中;
  7. )
  8. move /y "ip目录\temp.tes" "%%a"
  9. rem 注释:将生成结束的temp.tes文件直接复制到遍历文件中;
  10. )
  11. echo 已将"%"后的所有字符删除
  12. PAUSE
复制代码
ip.txt文本中的内容如下:
192.168.1.1        ;1号主机
192.168.1.2
192.168.1.3
192.168.1.4        ;4号主机
192.168.1.5
192.168.1.6        ;5号主机
192.168.1.7
192.168.1.8        ;8号主机
192.168.1.9        ;9号主机
192.168.1.X


切割的结果如下:
192.168.1.1
192.168.1.4
192.168.1.6
192.168.1.8
192.168.1.9

我须要的结果如下:
192.168.1.1
192.168.1.2
192.168.1.3
192.168.1.4
192.168.1.5
192.168.1.6
192.168.1.7
192.168.1.8
192.168.1.9
192.168.1.X

请问高手们怎样才能在切割时保留不符合切割条件的内容,让所有内容按原来的排序保存。小弟新手,在此先行谢过各位指点!
作者: yangfengoo    时间: 2011-11-5 19:34

for /f "tokens=1 delims=; " %%a in ("..\ip目录\ip.txt") do echo %%a
pause
作者: lxh623    时间: 2011-11-6 20:20

textking可以做到这样子切分。或者ultraedit,选定范围。




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