中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

中国DOS联盟论坛
现在时间是 2026-08-13 00:47
中国DOS联盟论坛 » DOS学习入门 & 精彩文章 (教学室) » 怎么判断在批处理中程序是否已经运行? 查看 1,176 回复 5
楼 主 怎么判断在批处理中程序是否已经运行? 发表于 2003-09-02 00:00 ·  中国 安徽 六安 霍山县 电信
初级用户
积分 175
发帖 22
注册 2003-07-24 00:00
23年会员
UID 7466
性别 男
状态 离线
想编一批处理。 带几个参数, 其中有几个是单独项,另几个必须是在ucdos运行后再运行的。 这样会产生一个问题,如果将
\ucdos\rd16
\ucdos\knl
放在前面,那么不需要运行ucdos的那几项也必须得在运行ucdos后再运行,很讨厌。如果ucdos不放在前面,那几个必须运行在ucdos下的程序就得每项都加上\ucdos\rd16 ; \ucdos\knl 。有些重复和累赘。而且这几项就会重复运行ucdos,即管ucdos运行一次就够了。
有什么好办法来解决么?
可不可以在处理中作一判断,判断ucdos是否已运行?
2 发表于 2003-09-03 00:00 ·  中国 河南 驻马店 联通
金牌会员
★★★★
龙哥DOS
积分 4,289
发帖 1,501
注册 2003-02-23 00:00
23年会员
UID 983
性别 男
来自 河南省
状态 离线
虽然我对批处理不太行,但我可以给你一些编程的思路。你可以在执行时产生临时文件做为标记呀,然后再在需要处理的地方做条件判断,以便执行不同的操作。
C++C++C++C++C++C++C++C++C++C++C++C++C++C++C++
C++ ☆☆☆ 中国DOS联盟成员 ☆☆☆ C++
C++ ★★★ 爱提问的红色狂想 ★★★ C++
C++C++C++C++C++C++C++C++C++C++C++C++C++C++C++
3 发表于 2003-09-06 00:00 ·  中国 山东 烟台 福山区 联通
元老会员
★★★★
Batchinger
积分 4,432
发帖 1,512
注册 2002-10-18 00:00
23年会员
UID 19
性别 男
状态 离线
Re daiddcc:

你的问题说的不是很清楚。按照我的理解,你想将不需要ucdos的程序项与需要ucdos的程序项混杂运行,但是觉得ucdos频繁开关很麻烦。

首先分析问题,要避免ucdos频繁开关所造成的代码冗余,可以将开关ucdos的代码单独写为一个批处理,然后在需要ucdos的程序项前后直接用call调用就行了;如果想避免执行过程的冗余,则需要具体问题具体分析,首先将需要ucdos的程序项和不需要ucdos的程序项分离,然后放在两个大模块中,在ucdos大模块中首先执行ucdos,然后在根据参数开关跳转到需要执行的具体模块中。

另外,判断ucdos是否已运行可以注册环境变量,通常比产生临时文件要好些:

::ucdos.bat
@echo off
\ucdos\rd16
\ucdos\knl
set ucdos=load

::application
@echo off
if "%ucdos%"=="" call ucdos.bat
if "%ucdos%"=="load" goto 需要ucdos的程序或ucdos卸载标签

※ Batchinger 致 Bat Fans:请访问 批处理编程的异类 ,欢迎交流与共享批处理编程心得!
4 发表于 2003-09-06 00:00 ·  中国 福建 福州 电信
元老会员
★★★
农民
积分 2,903
发帖 991
注册 2003-07-23 00:00
23年会员
UID 7391
性别 男
来自 福建省
状态 离线
楼上的方法很实用啊!
艰难奋长戟,万古用一夫

中国DOS联盟 http://www.cn-dos.net 欢迎大家来共同学习
我的MSN&E-Mail cn_archer@hotmail.com QQ 56049418
5 发表于 2003-09-09 00:00 ·  中国 广东 广州 华南理工大学教育网
初级用户
积分 112
发帖 3
注册 2003-08-31 00:00
22年会员
UID 9239
性别 男
状态 离线
好方法啊!
6 发表于 2003-09-13 00:00 ·  中国 安徽 六安 电信
初级用户
积分 175
发帖 22
注册 2003-07-24 00:00
23年会员
UID 7466
性别 男
状态 离线
非常感謝!原來以爲不會有什麽好方法了,看來我對批處理的了解還非常不夠。
论坛跳转: