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

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

本帖最后由 思想之翼 于 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)))

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

评分人数

    • Batcher: 感谢给帖子标题标注[已解决]字样PB + 2

楼主在论坛提问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

评分人数

***共同提高***

TOP

拜托楼主抽点时间看看基础教程再来提问好吗?
***共同提高***

TOP

因为在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

评分人数

TOP

楼主可以学习一下这篇教程.

批处理for语句从入门到精通
http://bbs.bathome.net/thread-2189-1-1.html

TOP

谢谢lz分享。。。。。。。。。

TOP

返回列表