标题: [文本处理] 如何让批处理连续显示文本中的首行内容 [打印本页]
作者: 墨者革离 时间: 2008-12-18 09:34 标题: 如何让批处理连续显示文本中的首行内容
现有文本1内容如下:
ABC001
ABC002
ABC003
ABC004
ABC005
........
需要建立一个批处理文件: 内容如:
@ECHO OFF
ECHO ABC001
PAUSE
%0
按任意键后显示为
@ECHO OFF
ECHO ABC002
PAUSE
%0
目的是--让批处理显示文本1中的第一行字符
难题是--如果批处理已显示文本1第一行,则移除文本中第一行,按任意键后显示该文本文件中第二行.
简单地说就是: 移动文本1中的首行到批处理中显示此行.
能做到吗?
作者: wxcute 时间: 2008-12-18 11:48 标题: 直接显示不是很好,为什么要显示一下删除第一行呢
for /f %%i in (list.txt) do @echo %%i&pause
作者: more 时间: 2008-12-18 11:59
- @echo off
- set/p str=<1.txt
- echo %str%
- set "dos="
- for /f "skip=1 delims=" %%a in (1.txt) do (
- if not defined dos (
- set dos=god
- >1.txt echo %%a
- ) else (
- >>1.txt echo %%a
- )
- )
- echo.&pause&cls
- %0
复制代码
[ 本帖最后由 more 于 2008-12-18 12:00 编辑 ]
作者: wxcute 时间: 2008-12-18 13:06 标题: 原来如此哦
- @echo off
- set a=list.x
- set b=listx.x
- :lp
- set show=
- set/p show=<%a%
- if defined show (echo %show%) else (echo 已经结束&pause&goto :eof)
- more +1 %a%>%b%
- set a=%b%&set b=%a%
- pause
- goto :lp
复制代码
作者: batman 时间: 2008-12-18 17:19
- @echo off
- for /f "tokens=1 delims=:" %%i in ('findstr /n .* a.txt') do set "num=%%i"
- set /a num-=1,n=-1
- :begin
- cls&set /a n+=1
- if %n% neq 0 (set "sk=skip=%n%") else (set "sk=")
- for /f "%sk% delims=" %%i in (a.txt) do echo %%i
- if %n% neq %num% pause&goto begin
- pause>nul
复制代码
作者: 随风 时间: 2008-12-18 19:48
怎么看楼主的意识都应该是2楼的正解。
作者: 墨者革离 时间: 2008-12-18 19:54
经过测试,3楼朋友提供的代码完全达到 我需要的效果.
4楼\5楼编写的也许高明,但看不太懂, 也没有达到效果.
我的目的是: 申请了若干个网络硬盘.用户名没有规律, 所有用户名记录在一个文本文件中,为了不丢失网盘,需要过几天登录依次一下.
感谢各位兄弟的大力予以支持!!!
作者: 墨者革离 时间: 2008-12-19 14:46
这段也不错,不改变文本文件,而是逐行显示下去
- echo off
- for /f "delims=" %%i in (文本1.txt) do (
- echo %%i
- pause
- )
- pause
复制代码
欢迎光临 批处理之家 (http://bathome.net./) |
Powered by Discuz! 7.2 |