标题: 批处理把一文本的首行和尾行并接为一行 [打印本页]
作者: ieutk 时间: 2008-3-29 15:38 标题: 批处理把一文本的首行和尾行并接为一行
一个文本文件内容如下,把它们的第一行和最后一行并接成一行显示在屏幕上
- 12345
- dw5v
- ti7
- dfg3
- ds120
- ds437
- dw025
- 32123
- aseth
- ep09
- s36
- 567
- 54dc汉
- d36国
- 33s
- 人中
- d2
- 6789
复制代码
作者: 梦想种子 时间: 2008-3-29 15:52
- @echo off
- set /p a=<a.txt
- for /f "delims=" %%i in (a.txt) do set b=%%i
- echo %a%%b%
- pause>nul
复制代码
作者: mokmao 时间: 2008-3-31 17:10
不用"delims="也可以得到结果
作者: xiaoxx 时间: 2008-4-27 19:40
如果尾行是空行。
那么合并结果会出错。
作者: xiaoxx 时间: 2008-4-27 20:45
@echo off
set /p a=<abc.txt
setlocal EnableDelayedExpansion
for /f %%i in ('findstr /n .* abc.txt') do (set hhh=%%i)
set "hhh=!hhh:*:=%a%!"
echo !hhh!
pause>nul
但首行和尾行不能都为空(空格也算空)否则仅仅会输出echo的状态。等同于一个单独的echo.
作者: keen 时间: 2009-4-5 01:17
- @echo off&setlocal enabledelayedexpansion
- for /f "delims=" %%i in (a.txt) do (
- set a=%%i
- set /a n+=1
- if !n!==1 set o=!a!
- )
- echo %o%%a%&pause>nul
复制代码
作者: sjzong 时间: 2009-4-25 18:12 标题: 我也试试
其实主要是文本中,第一行和最后一行不能使空的!空行会跳过的!- @echo off
- setlocal enabledelayedexpansion
- for /f "delims= " %%a in (a.txt) do (set/a num+=1&set !num!=%%a)
- echo !1!!%num%!
复制代码
[ 本帖最后由 sjzong 于 2009-4-25 18:22 编辑 ]
作者: battab 时间: 2014-2-22 14:27
回复 1# ieutk - @echo off&setlocal enabledelayedexpansion
- for /f %%i in (1.txt) do (
- set str=!str!%%i)
- echo %str:~,5%%str:~-4%
- pause>nul
复制代码
还不通用,只是个思路,仅符合题例,有待完善。
作者: 522235677 时间: 2014-2-22 22:13
回复 8# battab
你不如直接写个复制代码
作者: sbjugt 时间: 2014-3-7 17:43
@echo off
for /f %%i in (a.txt) do (set a=%%i)
for /f %%i in (a.txt) do (set b=%%i&&goto :b)
:b
echo %b%%a%
pause
作者: zh_1452 时间: 2014-6-25 20:15
- @echo off
- cd..\..
- cd /d f:\.&type nul>1.txt
- @echo off
- set str=12345dw5vti7dfg3ds120ds437dw02532123asethep09s3656754dc汉d36国33s人中d26789
- echo var=%str:~0,5%
- echo %str:~0,5%>f:\1.txt
- pause
- @echo off
- cd..\..
- cd /d f:\.&type nul>2.txt
- @echo off
- set str=12345dw5vti7dfg3ds120ds437dw02532123asethep09s3656754dc汉d36国33s人中d26789
- set var=%str:~-4%
- echo %str:~-4%
- echo %str:~-4%>>f:\2.txt
-
- pause
- @echo off
- cd..\..
- cd /d f:\.&type nul>3.txt&type 1.txt>3.txt%type 2.txt>3.txt
- start "" f:\3.txt
- pause
复制代码
作者: shelluserwlb 时间: 2014-11-8 14:53
本帖最后由 shelluserwlb 于 2014-11-9 16:08 编辑
- @echo off
- for /f %%i in (a.txt) do (
- if %%i neq "" (set "str1=%%i" & goto :next)
- )
- :next
- for /f %%i in (a.txt) do (
- if %%i neq "" set "str2=%%i"
- )
- echo %str1%%str2%
- pause>nul
复制代码
作者: 尘丶 时间: 2015-5-31 14:27
- @echo off&setlocal enabledelayedexpansion
- set /p a=<a.txt
- for /f %%n in (a.txt) do (
- set b=%%n
-
- )
- echo %a%!b!
- pause
复制代码
作者: 437153 时间: 2015-6-5 16:38
@echo off&setlocal enabledelayedexpansion
for /f "tokens=1,2 delims=:" %%i in ('type 1.txt^|findstr /n .') do (
set/a n+=1
set h!n!=%%j
)
set/a m=%n%-(%n%-1)
echo:!h%m%! !h%n%!
作者: 尘丶 时间: 2015-8-8 16:25
1.- @echo off&setlocal enabledelayedexpansion
- for /f "delims=" %%a in (1.txt) do (
- set s=%%a
- set /a n+=1
- if !n!==1 set /p=%%a<nul
- echo;%%a>nul
- )
- echo;!s!
- pause
复制代码
2.- @echo off&setlocal enabledelayedexpansion
- for /f "delims=" %%a in (1.txt) do set /p n=<1.txt&set s=%%a
- echo;!n!!s!
- pause
复制代码
3.- @echo off&setlocal enabledelayedexpansion
- (for /l %%a in (1,1,20) do set /p n%%a=)<1.txt
- echo;!n1!!n18!
- pause
复制代码
作者: wutarnow 时间: 2015-10-20 09:15
- @echo off
- set /p a=<2.txt
- for /f %%I in (2.txt) do (
- set b=%%I
- )
- echo %a%%b%
复制代码
作者: 依山居 时间: 2015-10-22 23:28
python- f=open("a.txt","r")
- txt=f.readlines()
- f.close()
- l=txt[0].rstrip()+txt[-1]
- print(l)
复制代码
作者: 懒虫阿布 时间: 2018-7-29 14:48
- @echo off
- setlocal enabledelayedexpansion
- for /f "delims=" %%i in (pjfile.txt) do (
- if not defined firstrow (set firstrow=%%i) else (set lastrow=%%i)
- )
-
- echo !firstrow!!lastrow!
复制代码
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |