找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 32297|回复: 7

[文本处理] 【已结】批处理如何提取以空格分割/分隔字符串中的每个字段

[复制链接]
发表于 2009-2-28 08:17:24 | 显示全部楼层 |阅读模式
本帖最后由 pcl_test 于 2016-9-27 20:42 编辑

有形如:
      I  am a student  english  this
but try do
no yes some any  这样内容的文本文件(各行的长度不同),现要把上面的各个单词分解后占一行,形如:
I
am
a
student
english
……
这样的用批处理要怎么做?

[ 本帖最后由 bakdfkuk 于 2009-3-1 08:47 编辑 ]
发表于 2009-2-28 09:55:34 | 显示全部楼层
标题违规,暂时关闭,请楼主修改好后用站内短信通知我。
发表于 2009-2-28 10:45:07 | 显示全部楼层
  1. @echo off
  2. for /f "delims=" %%a in (a.txt) do (
  3.      for %%b in (%%a) do echo %%b
  4.     )
  5. )
  6. pause>nul
复制代码
发表于 2009-2-28 17:26:52 | 显示全部楼层
前面试写了一个,但只能提取每一行的的头一个 ,和版主的相比多加了变量延迟,第三行多了delims,/f ,向版主学习了。
发表于 2009-2-28 18:20:58 | 显示全部楼层

回复 3楼 的帖子

括号没有配对吧?

另外,为了避免遇到on或者off之类的单词时出错,echo后面还是用点比较好吧。
 楼主| 发表于 2009-2-28 18:30:18 | 显示全部楼层

多谢!

真是厉害啊!谢谢各位高手!
发表于 2009-2-28 19:01:02 | 显示全部楼层

回复 6楼 的帖子

如果有人帮你解决了问题,建议进行以下操作:

1、修改帖子标题,在标题最前面注明:【已结】

2、给竭尽全力帮你的人、正确回答问题的人加分(你自己的积分不会减少)以示感谢,虽然大家来论坛是为了学习而不是为了积分,但加分聊表谢意总是或多或少能够让花费了时间和精力无私帮助你的人略感欣慰。

3、如果你是在别人的提示下自己写出了代码,请把自己的方法贴出来跟大家分享一下,也许他人可以帮你指出代码中的不足之处、告诉你如何提高执行效率等,有交流才能更快地进步。
发表于 2018-10-18 15:55:00 | 显示全部楼层
回复 3# batman


  请问,有没有办法只用一个for实现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-17 07:25 , Processed in 0.018085 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表