![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-08-11 18:25 |
共 47,811 主题排行 / 349,897 发帖 / 今日 0 篇 / 48,256 会员排行 |
| DOS批处理 & 脚本技术(批处理室) » 纯DOS下的批处理命令问题,急! |
| 可打印版本 837 / 5 |
| 第1楼 fpeich | 发表于 2009-04-19 15:50 |
| 新手上路 发帖 5 积分 5 | |
|
纯DOS下的批处理命令问题,急! 请教各位:
我在纯DOS下(MS-DOS7.1)怎么用for/f ,以及()这些在xp能正常运行的批处理命令就怎么不能运行了呢?我在纯DOS下查看了for的帮助文件,它和xp下面是不一样的,现在有几个问题想请教:1、在DOS下怎读取一个文件中的数据,整数型的数据,将其放在一个变量中,并进行+1操作 2、在DOS下怎样执行一组命令,比如if判断里面又有if语句等等!特别说明我是在纯dos下的哈,不是在windows下!在此谢谢大家了! |
|
| 第2楼 qzwqzw | 发表于 2009-04-19 16:06 |
| 银牌会员 发帖 636 积分 2,343 | |
|
dos与cmd下批处理用法大异其趣
你会慢慢理解的 dos下代替for /f是debug的方案 或者使用第三方工具lmod,awk,4dos等 尤其是awk,可以实现你的大部分需求 |
|
| 第3楼 fpeich | 发表于 2009-04-19 23:45 |
| 新手上路 发帖 5 积分 5 | |
|
那么请问想一下执行多条语句呢?就是()的功能用什么实现呢?
|
|
| 第4楼 qzwqzw | 发表于 2009-04-20 02:18 |
| 银牌会员 发帖 636 积分 2,343 | |
|
用了awk你就知道if里面怎么嵌套if了
因为awk是个独立的命令行语言环境 提供了类C语法的支持 if的嵌套或者语句块是非常基础的语法支持 |
|
| 第5楼 fpeich | 发表于 2009-04-20 03:08 |
| 新手上路 发帖 5 积分 5 | |
|
能帮我写一个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楼 qzwqzw | 发表于 2009-04-21 04:48 |
| 银牌会员 发帖 636 积分 2,343 | |
|
虽然提示你可以用awk来实现
但我个人并不喜欢awk的方式 不仅仅是因为它是第三方工具 也因其语法与批处理相差太远 如果你的var变量范围小于10 我可以考虑使用纯批处理实现 或者你把你的完整意图写出来 也许我会有其它不用var的办法 否则还是你仔细钻研一下Awk 有C语言基础学习它很简单的 |
|
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |