标题: [文本处理] [已解决]批处理如何实现将多行内容合并输出成一行? [打印本页]
作者: 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 - set /p=test.txt <nul
- 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 - @echo off&for /l %%i in (1 1 5) do (set /p=%%i.txt<nul &ping -n 1 0.0>nul)
- 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
纯批没落,神技失传?- @echo off
- for /f "delims=h" %%a in ('cmd /u /c echo 栈') do set BS=%%a
- for /f "delims=i" %%a in ('cmd /u /c echo 椉') do set HT=%%a
-
- echo a.txt
- echo %HT%%BS%%BS%%BS%[文件转换失败]
- 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
- @echo off&setlocal enabledelayedexpansion
- title 工作站成果表转换为CIFLog-GeoMatrix格式
- echo.***转换文件列表***
- if exist *LST.txt del *LST.txt
- for /f "delims=" %%a in ('dir /b *.LST') do (
- set /a num+=1
- echo %%a
- set name=%%a
- for /f "skip=1 delims=!, tokens=2,3" %%i in (!name!) do (
- echo %%i %%j>>tmp.txt
- )
- if exist tmp.txt (
- echo SDEP EDEP SEQ RESULT>>!name!.txt
- call :loop
- del tmp.txt) else (echo 该文件转换失败!)
- )
- echo 当前目录下共有 %num% 个LST文件
- pause
- :loop
- for /f "tokens=1,2,3,5,13" %%i in (tmp.txt) do (
- set fg=%%l
- set re=%%m
- if !re!==1 set res=油层
- if !re!==2 set res=气层
- if !re! gtr 2 set res=!re!
- if !fg!==AVE echo %%j %%k %%i !res!>>!name!.txt
- )
复制代码
回复 11# pcl_test
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |