Board logo

标题: [文本处理] [已解决]批处理如何实现将多行内容合并输出成一行? [打印本页]

作者: mantis    时间: 2016-3-23 00:26     标题: [已解决]批处理如何实现将多行内容合并输出成一行?

本帖最后由 mantis 于 2016-3-24 16:30 编辑

大家好,我是新手,请教个问题
echo test.txt
echo 该文件转换失败!
怎样在屏幕上显示为
test.txt 该文件转换失败!
作者: /zhqsystem/zhq    时间: 2016-3-23 04:34

回复 1# mantis
for /f "delims=" %%i in ('type "%~f1"')do (
echo,!name!%%i
set "name=%%i"
)

作者: mantis    时间: 2016-3-23 08:03

回复 2# /zhqsystem/zhq
可能是我没有说清楚
我想把

这样的显示,改为

但不能用“echo test.txt 该文件转换失败!”
作者: ivor    时间: 2016-3-23 08:27

本帖最后由 ivor 于 2016-3-23 08:28 编辑

回复 3# mantis
  1. set /p=test.txt <nul
  2. echo 该文件转换失败!
复制代码

作者: mantis    时间: 2016-3-23 09:21

回复 4# ivor


    4楼虽然显示在同一行了,但第一个输出行还在,我只想后一行的输出直接追加到前一行后边
作者: WHY    时间: 2016-3-23 10:31

回复 5# mantis


    我要是你,就不整这么麻烦:拿张白纸,盖住上面几行——眼不见为净。
作者: happy886rr    时间: 2016-3-23 13:23

本帖最后由 happy886rr 于 2016-3-23 13:29 编辑

回复 1# mantis
  1. @echo off&for /l %%i in (1 1 5) do (set /p=%%i.txt<nul &ping -n 1 0.0>nul)
  2. set "l=该文件转换失败!" &for /l %%i in (0 1 7) do (call set /p=%%l:~%%i,1%%<nul &ping -n 2 0.0>nul)
复制代码
还有更炫的,可以让字符在任意位置显示。字符旋转。投影变换,放大缩小,只是需要费点脑筋。
作者: CrLf    时间: 2016-3-23 21:39

纯批没落,神技失传?
  1. @echo off
  2. for /f "delims=h" %%a in ('cmd /u /c echo 栈') do set BS=%%a
  3. for /f "delims=i" %%a in ('cmd /u /c echo 椉') do set HT=%%a
  4. echo a.txt
  5. echo %HT%%BS%%BS%%BS%[文件转换失败]
  6. pause
复制代码

作者: bailong360    时间: 2016-3-23 21:59

回复 8# CrLf
你咋不上天呢
话说tab+bs应该也可以吧
作者: CrLf    时间: 2016-3-23 22:09

回复 9# bailong360


    HT = horizontal tab
作者: pcl_test    时间: 2016-3-23 22:20

本帖最后由 pcl_test 于 2016-3-23 22:30 编辑

回复 1# mantis
贴出你的代码,只想知道,你的文件名和错误提示信息是你自定义输出的,还是某个程序或系统预设输出的?
作者: mantis    时间: 2016-3-24 14:09

  1. @echo off&setlocal enabledelayedexpansion
  2. title 工作站成果表转换为CIFLog-GeoMatrix格式
  3. echo.***转换文件列表***
  4. if exist *LST.txt del *LST.txt
  5. for /f "delims=" %%a in ('dir /b *.LST') do (
  6. set /a num+=1
  7. echo %%a
  8. set name=%%a
  9. for /f "skip=1 delims=!, tokens=2,3" %%i in (!name!) do (
  10. echo %%i %%j>>tmp.txt
  11. )
  12. if exist tmp.txt (
  13. echo SDEP EDEP SEQ RESULT>>!name!.txt
  14. call :loop
  15. del tmp.txt) else (echo 该文件转换失败!)
  16. )
  17. echo 当前目录下共有 %num% 个LST文件
  18. pause
  19. :loop
  20. for /f "tokens=1,2,3,5,13" %%i in (tmp.txt) do (
  21. set fg=%%l
  22. set re=%%m
  23. if !re!==1 set res=油层
  24. if !re!==2 set res=气层
  25. if !re! gtr 2 set res=!re!
  26. if !fg!==AVE echo %%j %%k %%i !res!>>!name!.txt
  27. )
复制代码
回复 11# pcl_test




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