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

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

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

大家好,我是新手,请教个问题
echo test.txt
echo 该文件转换失败!
怎样在屏幕上显示为
test.txt 该文件转换失败!
1

评分人数

回复 1# mantis
for /f "delims=" %%i in ('type "%~f1"')do (
echo,!name!%%i
set "name=%%i"
)
这么好的论坛你上哪找,运行测试环境为6.1.7601-64
注:请遵守互联网信息安全,勿用于非法用途

TOP

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

这样的显示,改为

但不能用“echo test.txt 该文件转换失败!”

TOP

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

回复 3# mantis
  1. set /p=test.txt <nul
  2. echo 该文件转换失败!
复制代码
#&cls&@powershell "Invoke-Expression ([Io.File]::ReadAllText('%~0',[Text.Encoding]::UTF8))" &pause&exit

TOP

回复 4# ivor


    4楼虽然显示在同一行了,但第一个输出行还在,我只想后一行的输出直接追加到前一行后边

TOP

回复 5# mantis


    我要是你,就不整这么麻烦:拿张白纸,盖住上面几行——眼不见为净。

TOP

本帖最后由 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)
复制代码
还有更炫的,可以让字符在任意位置显示。字符旋转。投影变换,放大缩小,只是需要费点脑筋。

TOP

纯批没落,神技失传?
  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
复制代码
1

评分人数

TOP

回复 8# CrLf
你咋不上天呢
话说tab+bs应该也可以吧

TOP

回复 9# bailong360


    HT = horizontal tab

TOP

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

回复 1# mantis
贴出你的代码,只想知道,你的文件名和错误提示信息是你自定义输出的,还是某个程序或系统预设输出的?

TOP

  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

TOP

返回列表