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

[文本处理] [已解决]批处理怎样合并一行文本中的多个空格为一个空格?

本帖最后由 byz001 于 2012-4-11 12:30 编辑

a b                      c 合并前
a b c                      合并后
只用批处理操作不用外部工具
那位高手解答下在线等赐教
1

评分人数

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

  1. @echo off
  2. (for /f "tokens=1-3" %%a in (a.txt) do (
  3.     echo,%%a %%b %%c
  4. ))>b.txt
复制代码
1

评分人数

    • CrLf: 乐于助人技术 + 1
早中晚各问自己一遍:你平均每周帮助别人解决几个问题?

TOP

回复 2# find


    好似b.txt输出内容为空啊
如果一行中有n个被不定数空格隔开的字符串呢又该怎么办
例如 a   b   c    d..........................

TOP

本帖最后由 byz001 于 2012-4-1 14:31 编辑

没有人来解答下吗,在一个文本文件中,每行有“不定数量”字符串,每两个字符串被“不定数量”空格隔开
要把不定数量空格合并为一个空格该怎么做,

TOP

  1. @echo off
  2. for /f "delims=" %%a in (a.txt) do (
  3.   set str=
  4.   call :lp %%a
  5.   call echo,%%str:~1%%
  6. )
  7. pause&goto :eof
  8. :lp
  9. if not "%1"=="" set "str=%str% %1"&shift&goto lp
复制代码
1

评分人数

    • byz001: 谢谢你的帮助技术 + 1

TOP

回复 5# apang


    能解释下吗,没看懂

TOP

回复 6# byz001

你不说代码可不可行,怎么解释呢?
如果不能运行,解释也没有用。

TOP

回复 3# byz001


我当时做试验的时候好似b.txt输出内容不为空啊
早中晚各问自己一遍:你平均每周帮助别人解决几个问题?

TOP

本帖最后由 byz001 于 2012-4-1 21:54 编辑

程序运行结果屏显也没有,也沒输结果到文件,也没错误提示,所以没看懂,我系统是xp

TOP

回复 8# find


  每一行有不定数个字符串这个方法好似不怎么方便

TOP

回复 10# byz001


是呀
希望以后有什么问题能在顶楼发帖的时候就说清楚
早中晚各问自己一遍:你平均每周帮助别人解决几个问题?

TOP

本帖最后由 terse 于 2012-4-2 02:36 编辑

回复 10# byz001
  1. @echo off&setlocal enabledelayedexpansion
  2. (for /f "tokens=*" %%i in (a.txt) do (
  3.     for %%j in ("%%i") do set str=!str! %%j
  4.     echo!str!&set "str="
  5. ))>b.txt
复制代码
2

评分人数

    • byz001: @echo off&setlocal enabledelayedexpa技术 + 1
    • CrLf: 乐于助人技术 + 1

TOP

回复 5# apang


    问题已解决,谢谢!

TOP

返回列表