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

[文本处理] 【已解决】BAT按空格分行的疑问

[复制链接]
发表于 2013-11-2 13:44:48 | 显示全部楼层 |阅读模式
本帖最后由 思想之翼 于 2013-11-3 13:34 编辑

@echo off
(for /f "delims=" %%i in (1.txt) do (
for %%j in (%%i) do (echo.%%j)
echo.))>>模板.txt
pause

上述代码可以将txt文本中的数据9 8 7  处理为
9
8
7
而不能将txt文本中的=IF(Q2="","",--RIGHT(10+(Q1-Q2)))        =IF(R2="","",--RIGHT(10+(R1-R2)))
处理为
=IF(Q2="","",--RIGHT(10+(Q1-Q2)))       
=IF(R2="","",--RIGHT(10+(R1-R2)))

如何修改代码,使之能够进行上述文本内容的处理?

评分

参与人数 1PB +2 收起 理由
Batcher + 2 感谢给帖子标题标注[已解决]字样

查看全部评分

发表于 2013-11-2 14:59:20 | 显示全部楼层
楼主在论坛提问N帖仍是基础全无?=和,都是for的默认分隔符你不知道?

  1. @echo off
  2. cd.>模板.txt
  3. for /f "delims=" %%a in (a.txt) do set "str=%%a"&call :lp
  4. start 模板.txt&exit
  5. :lp
  6. for /f "tokens=1* delims= " %%a in ("%str%") do (
  7.   >>模板.txt echo,%%a
  8.   if "%%b" neq "" set "str=%%b"&goto lp
  9. )
复制代码

评分

参与人数 1技术 +1 收起 理由
思想之翼 + 1 感谢帮助

查看全部评分

发表于 2013-11-2 15:01:29 | 显示全部楼层
拜托楼主抽点时间看看基础教程再来提问好吗?
发表于 2013-11-2 15:04:36 | 显示全部楼层
因为在for %%j in ( )这个括号里 逗号和空格的作用是一样的.
  1. @echo off
  2. (for /f "tokens=1,2 delims= " %%i in (a.txt) do (
  3. echo,%%i
  4. echo,%%j
  5. ))>>模板.txt
  6. pause
复制代码

评分

参与人数 1技术 +1 收起 理由
思想之翼 + 1 感谢帮助

查看全部评分

发表于 2013-11-2 15:10:41 | 显示全部楼层
楼主可以学习一下这篇教程.

批处理for语句从入门到精通
http://bbs.bathome.net/thread-2189-1-1.html
发表于 2013-11-30 06:04:14 | 显示全部楼层
谢谢lz分享。。。。。。。。。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-20 18:46 , Processed in 0.032983 second(s), 18 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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