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

[文本处理] [已解决]BAT批处理如何把文本每两行合并成一行?

想让批处理实现txt文本处理,举例在附件中 麻烦高手帮忙写给批处理 谢谢
XP系统
一.txt文本内容 经过批处理处理后  变成二.txt文本内容格式 把处理结果导出到 二.txt文本中

118236039954793 446169323
118236039954795 469349980
118236039954797 733730203
118236039954799 416669585
118236039954801 870682049
118236039954803 265021929
118236039954805 645417838
118236039954787 865587970
118236039954819 224340819
118236039954821 552145002
以上是一.txt文本内容
以下经过批处理处理后
二.txt文本内容
118236039954793 446169323        118236039954795 469349980
118236039954797 733730203        118236039954799 416669585
118236039954801 870682049        118236039954803 265021929
118236039954805 645417838        118236039954787 865587970
118236039954819 224340819        118236039954821 552145002
1

评分人数

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

感谢大家的帮忙,谢谢各位!

TOP

回复  pengyou86
terse 发表于 2014-4-22 17:52

测试成功 谢谢

TOP

回复 7# pengyou86
运行显示乱码了,明显你保存的批处理文件不是ansi格式的。
或者你复制的代码本身不是ansi格式的。
代码没几行,自个儿新建一个ansi文本一个一个字符自己输入,别复制粘贴。
初学BAT,非专业。代码不适当之处还望前辈们多多指点。在此表示感谢!

TOP

回复 7# pengyou86


    本机测试无误,你存的 bat 是 ansi 吗?看错误提示截图,感觉应该是存成 utf-8 了

TOP

回复 13# DAIC


    @echo off
for /f "delims=U" %%i in ('cmd /u /c echo 唉') do set "tab=%%i"
setlocal enabledelayedexpansion
(for /f "delims=" %%i in (a.txt) do (
    if defined str (
       echo,!str!%tab%%%i&set "str="
    ) else set "str=%%i"
)
    if defined str echo !str!
)>处理后.txt
pause

TOP

7楼那个截图是测试的哪个代码?

TOP

回复 10# DAIC

TOP

回复 10# DAIC

是的txt文本也是ANSI

TOP

回复 9# pengyou86


    txt文件也是ANSI编码吗?

TOP

回复 8# DAIC


    是ANSI 格式的

TOP

回复 7# pengyou86


    用记事本打开bat,文件,另存为,看看编码是不是ANSI

TOP

谢谢各位老大,但我测试你们的批处理没有一个能使用的。提示图片中这种情况。
我电脑是XP系统

TOP

  1. @echo off
  2. %1 cmd /v /c %0 :
  3. (for /f "delims=" %%a in (一.txt) do (
  4.    set /a "1/(n=^!n)"||echo !str!    %%a
  5.    set "str=%%a"
  6. ))>二.txt 2>nul
  7. pause
复制代码
1

评分人数

TOP

回复 1# pengyou86
  1. @echo off
  2. for /f "delims=U" %%i in ('cmd /u /c echo 唉') do set "tab=%%i"
  3. setlocal enabledelayedexpansion
  4. (for /f "delims=" %%i in (处理前.txt) do (
  5.     if defined str (
  6.        echo,!str!%tab%%%i&set "str="
  7.     ) else set "str=%%i"
  8. )
  9.     if defined str echo !str!
  10. )>处理后.txt
  11. pause
复制代码
2

评分人数

TOP

返回列表