Board logo

标题: [文本处理] 批处理如何把多行内容合并成一行? [打印本页]

作者: smith203    时间: 2011-6-10 08:15     标题: 批处理如何把多行内容合并成一行?

本帖最后由 pcl_test 于 2017-6-5 13:01 编辑

如下:
sfggh
sddfg
sdd25gff

把它变成一行, 中间用换行符隔开, 换行符用|还是黑框?
sfggh sddfg sdd25gff
作者: mxxcgzxxx    时间: 2011-6-10 09:40

本帖最后由 mxxcgzxxx 于 2011-6-10 09:44 编辑
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. set "str="
  4. for /f "tokens=*" %%1 in (1.txt) do set "str=!str! %%1"
  5. echo %str%>2.txt
  6. type 2.txt
  7. pause>nul
复制代码

作者: smith203    时间: 2011-6-10 10:19

本帖最后由 smith203 于 2011-6-10 10:24 编辑

谢谢, 如果没有空格, 用那个黑点来代替?要怎么改?  就像你的代码里一样的。
作者: Batcher    时间: 2011-6-10 10:47

3# smith203


哪个黑点?ASCII是多少?
作者: chris521crystal    时间: 2011-6-10 11:22

  1. @echo off
  2. setlocal enabledelayedexpansion
  3. for /f "tokens=* delims=" %%i in (1.txt) do set str=!str! %%i
  4. echo %str%
  5. pause>nul
复制代码

作者: Batcher    时间: 2011-6-10 11:40

  1. gawk "{printf $0\" \"}" a.txt | more >b.txt
复制代码
http://bbs.bathome.net/thread-1114-1-1.html




欢迎光临 批处理之家 (http://bbs.bathome.net/) Powered by Discuz! 7.2