找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 47340|回复: 17

批处理把一文本的首行和尾行并接为一行

[复制链接]
发表于 2008-3-29 15:38:53 | 显示全部楼层 |阅读模式
   一个文本文件内容如下,把它们的第一行和最后一行并接成一行显示在屏幕上

  1. 12345
  2. dw5v
  3. ti7
  4. dfg3
  5. ds120
  6. ds437
  7. dw025
  8. 32123
  9. aseth
  10. ep09
  11. s36
  12. 567
  13. 54dc汉
  14. d36国
  15. 33s
  16. 人中
  17. d2
  18. 6789
复制代码
发表于 2008-3-29 15:52:28 | 显示全部楼层
  1. @echo off
  2. set /p a=<a.txt
  3. for /f "delims=" %%i in (a.txt) do set b=%%i
  4. echo %a%%b%
  5. pause>nul
复制代码

评分

参与人数 5PB +8 技术 +2 收起 理由
chencg + 1 很好
匿名者 + 1 很好
ieutk + 4 不错
foxJL + 2
youxi01 + 2

查看全部评分

发表于 2008-3-31 17:10:53 | 显示全部楼层
不用"delims="也可以得到结果
发表于 2008-4-27 19:40:04 | 显示全部楼层
如果尾行是空行。
那么合并结果会出错。
发表于 2008-4-27 20:45:06 | 显示全部楼层
@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.
发表于 2009-4-5 01:17:20 | 显示全部楼层
  1. @echo off&setlocal enabledelayedexpansion
  2. for /f "delims=" %%i in (a.txt) do (
  3.     set a=%%i
  4.     set /a n+=1
  5.     if !n!==1 set o=!a!
  6. )
  7. echo %o%%a%&pause>nul
复制代码
发表于 2009-4-25 18:12:49 | 显示全部楼层

我也试试

其实主要是文本中,第一行和最后一行不能使空的!空行会跳过的!
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. for /f "delims= " %%a in (a.txt) do (set/a num+=1&set !num!=%%a)
  4. echo !1!!%num%!
复制代码

[ 本帖最后由 sjzong 于 2009-4-25 18:22 编辑 ]

评分

参与人数 2技术 +2 收起 理由
尘丶 + 1 学到了。
battab + 1 不错啊。

查看全部评分

发表于 2014-2-22 14:27:53 | 显示全部楼层
回复 1# ieutk
  1. @echo off&setlocal enabledelayedexpansion
  2. for /f %%i in (1.txt) do (
  3.         set str=!str!%%i)
  4. echo %str:~,5%%str:~-4%
  5. pause>nul
复制代码
还不通用,只是个思路,仅符合题例,有待完善。
发表于 2014-2-22 22:13:37 | 显示全部楼层
回复 8# battab


    你不如直接写个
  1. echo 123456789
复制代码
发表于 2014-3-7 17:43:17 | 显示全部楼层
@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
发表于 2014-6-25 20:15:49 | 显示全部楼层
  1. @echo off
  2. cd..\..
  3. cd /d f:\.&type nul>1.txt
  4. @echo off
  5. set str=12345dw5vti7dfg3ds120ds437dw02532123asethep09s3656754dc汉d36国33s人中d26789
  6. echo var=%str:~0,5%
  7. echo %str:~0,5%>f:\1.txt
  8. pause
  9. @echo off
  10. cd..\..
  11. cd /d f:\.&type nul>2.txt
  12. @echo off
  13. set str=12345dw5vti7dfg3ds120ds437dw02532123asethep09s3656754dc汉d36国33s人中d26789
  14. set var=%str:~-4%
  15. echo %str:~-4%
  16. echo %str:~-4%>>f:\2.txt

  17. pause
  18. @echo off
  19. cd..\..
  20. cd /d f:\.&type nul>3.txt&type 1.txt>3.txt%type 2.txt>3.txt
  21. start "" f:\3.txt
  22. pause
复制代码
发表于 2014-11-8 14:53:36 | 显示全部楼层
本帖最后由 shelluserwlb 于 2014-11-9 16:08 编辑
  1. @echo off
  2. for /f %%i in (a.txt) do (
  3.     if %%i neq "" (set "str1=%%i" & goto :next)
  4. )
  5. :next
  6. for /f %%i in (a.txt) do (
  7.     if %%i neq "" set "str2=%%i"
  8. )
  9. echo %str1%%str2%
  10. pause>nul
复制代码
发表于 2015-5-31 14:27:10 | 显示全部楼层

  1. @echo off&setlocal enabledelayedexpansion
  2. set /p a=<a.txt
  3. for /f %%n in (a.txt) do (
  4.     set b=%%n
  5.   
  6. )
  7. echo %a%!b!
  8. pause
复制代码
发表于 2015-6-5 16:38:00 | 显示全部楼层
@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:12 | 显示全部楼层
1.
  1. @echo off&setlocal enabledelayedexpansion
  2. for /f "delims=" %%a in (1.txt) do (
  3. set s=%%a
  4. set /a n+=1
  5. if !n!==1 set /p=%%a<nul
  6. echo;%%a>nul
  7. )
  8. echo;!s!
  9. pause
复制代码
2.
  1. @echo off&setlocal enabledelayedexpansion
  2. for /f "delims=" %%a in (1.txt) do set /p n=<1.txt&set s=%%a
  3. echo;!n!!s!
  4. pause
复制代码
3.
  1. @echo off&setlocal enabledelayedexpansion
  2. (for /l %%a in (1,1,20) do set /p n%%a=)<1.txt
  3. echo;!n1!!n18!
  4. pause
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-17 00:33 , Processed in 0.023654 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表