打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
经典批处理分析(一)
@echo off
:: 把下一行的数字复制到前面一行的后面,并用空格分开
setlocal enabledelayedexpansion
for /f %%i in (test.txt) do (
    set /a count+=1
    set first=!second!
    set second=%%i
    if !count! gtr 1 echo !first! !second!
)
pause
确切地说,它实现的功能是后行到前一行的添加。这里使用到了变量延迟。因为批处理命令运行是按行读取的,如果遇到for命运,其后用一对圆括号闭合的所有语句也当作一行。在处理之前要完成必要的预处理工作,这就是对该命令中的变量进行赋值。在此句之前,运行时并不知道count、first和second变量的值,所以会出错。解决方法当然就是开始变量延迟机制。以下还有几点可以学习:
在这里命令for在解析文件时,省略了对变量的描述。默认的是"tokens=*"。
set /a expression :/a 命令开关指定set命令计算expression表达式。
if命令里使用了比较运算符gtr(greater than)
That's all! 举个例子:test.txt文件中假设有
经典批处理
分析
两行字符串,那所得的结果是:经典批处理 分析
cheers! that is funny.
如果我不满意,我想想偶数行的加到奇数行上去,那
@echo off
::append even line to odd line
setlocal enabledelayedexpansion
for /f %%i in (test.txt) do (
    set /a count+=1
    set first=!second!
    set second=%%i
    set /a mod=!count!%%2
    if !mod! equ 0 echo !first! !second!
)
pause
注意,模运算在批处理文件中是需要使用两个%%,在使命行中使用一个。
经常进行拓展训练,能让你体会的更多,不是么?
 
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/kudoo/archive/2008/09/04/2878916.aspx
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
批处理:把命令的输出赋值给变量
Bat中延时
精通批处理教程--隐客居
批处理入门 -- set命令详解 - 『windows脚本』 - 网络技术交流论坛 网络技...
批处理函数简介
Windows BAT批处理命令详解
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服