楼 主
纯DOS下的批处理命令问题,急!
发表于 2009-04-19 15:50 · 中国 四川 内江 电信
新手上路
★
积分 5 发帖 5 注册 2009-04-11 14:03 17年会员 UID 142705 性别 男
状态 离线
请教各位:
我在纯DOS下(MS-DOS7.1)怎么用for/f ,以及()这些在xp能正常运行的批处理命令就怎么不能运行了呢?我在纯DOS下查看了for的帮助文件,它和xp下面是不一样的,现在有几个问题想请教:1、在DOS下怎读取一个文件中的数据,整数型的数据,将其放在一个变量中,并进行+1操作
2、在DOS下怎样执行一组命令,比如if判断里面又有if语句等等!特别说明我是在纯dos下的哈,不是在windows下!在此谢谢大家了!
第 2 楼
发表于 2009-04-19 16:06 · 中国 山西 电信
银牌会员
★★★
天的白色影子
积分 2,343 发帖 636 注册 2004-03-06 00:00 22年会员 UID 19350 性别 男
状态 离线
dos与cmd下批处理用法大异其趣
你会慢慢理解的
dos下代替for /f是debug的方案
或者使用第三方工具lmod,awk,4dos等
尤其是awk,可以实现你的大部分需求
第 3 楼
发表于 2009-04-19 23:45 · 中国 四川 内江 电信
新手上路
★
积分 5 发帖 5 注册 2009-04-11 14:03 17年会员 UID 142705 性别 男
状态 离线
那么请问想一下执行多条语句呢?就是()的功能用什么实现呢?
第 4 楼
发表于 2009-04-20 02:18 · 中国 山西 电信
银牌会员
★★★
天的白色影子
积分 2,343 发帖 636 注册 2004-03-06 00:00 22年会员 UID 19350 性别 男
状态 离线
用了awk你就知道if里面怎么嵌套if了
因为awk是个独立的命令行语言环境
提供了类C语法的支持
if的嵌套或者语句块是非常基础的语法支持
第 5 楼
发表于 2009-04-20 03:08 · 中国 四川 内江 电信
新手上路
★
积分 5 发帖 5 注册 2009-04-11 14:03 17年会员 UID 142705 性别 男
状态 离线
能帮我写一个bat文件吗?实现的功能是:(请注意 :运行的环境是MS-DOS 7.1
)
test.bat
if not exist (a.txt) echo 1 >a.txt
if exist a.txt ,读出a.txt里面的1给变量var,进行判断,if var <=3 goto aboutm
if var >3 goto other (这个地方在MS-DOS下不知道怎么写)
:aboutm
echo this is aboutm
var+=1 (将变量自增1,也不知道怎么实现)
echo %var% >a.txt
pause
:other
echo this is other place
pause
[ Last edited by fpeich on 2009-4-20 at 03:11 ]
第 6 楼
发表于 2009-04-21 04:48 · 中国 山西 电信
银牌会员
★★★
天的白色影子
积分 2,343 发帖 636 注册 2004-03-06 00:00 22年会员 UID 19350 性别 男
状态 离线
虽然提示你可以用awk来实现
但我个人并不喜欢awk的方式
不仅仅是因为它是第三方工具
也因其语法与批处理相差太远
如果你的var变量范围小于10
我可以考虑使用纯批处理实现
或者你把你的完整意图写出来
也许我会有其它不用var的办法
否则还是你仔细钻研一下Awk
有C语言基础学习它很简单的
论坛跳转:
— 请选择 —
站务公告 & 版主讨论
意见反馈 & 网友交流
DOS学习入门 & 精彩文章 (教学室)
DOS疑难解答 & 问题讨论 (解答室)
DOS启动盘 & LOGO技术 (启动盘室)
DOS批处理 & 脚本技术(批处理室)
DOS媒体世界 & 网络技术 (多媒体室)
DOS汉化世界 & 中文系统 (中文化室)
DOS开发编程 & 发展交流 (开发室)
DOS软件下载 & 游戏分享 (下载室)
GRUB4DOS、SYSLINUX及其它启动管理软件讨论专区
其它操作系统综合讨论区
WinPE、PowerShell及其它命令行系统专区
贴图灌水、文学娱乐专区
网络日志(Blog)
论坛回收站
├ 链接失效,待修正