中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 动态调整网吧客户机的启动项,方便维护管理!!
作者:
标题: 动态调整网吧客户机的启动项,方便维护管理!! 上一主题 | 下一主题
shenbaise
初级用户





积分 48
发帖 20
注册 2006-12-2
状态 离线
『楼 主』:  动态调整网吧客户机的启动项,方便维护管理!!

网吧有200多台机器我想让电脑开机动态调整他的启动项,具体实现方法
电脑开机判断自己的名字是不是存在于服务器上config.ini配置文件中。如果在config.ini中存在自己的名字,
那么bat批处理接着往下面执行程序,如果没有程序就退出。主要有使用的两个文件,一个bat批处理本身,另外
就是配置文件config.ini
程序bat代码
----------------
for /f "skip=1 tokens=1" %%N IN (\\173.16.0.250\网管盘$\jw\Config.ini) Do if %ComputerName%==%%N
(
start \\173.16.0.250\网管盘$\jw\jw1.exe
) Else (
@echo 本台机器今天不运行程序
)



注释----------------
\\173.16.0.250\网管盘$\jw\Config.ini     这个是服务器上面的config.ini文件,隐藏可写共享
\\173.16.0.250\网管盘$\jw\jw1.exe        jw1这个是我想要执行的程序。
----------------
具体的config文件的内容格式是
----------------

ex-011
ex-013
ex-012
ex-014
ex-015
ex-016
ex-017
ex-018

每行一个机器的名字,这样可以动态的调整下面的那台机器要运行程序,那台不要运行。现在客户机每台机器上都有一个启动项,用来执行上面的那个bat
但是这个bat好象有问题一直不能执行希望各位高手给于指点!!!



─────────────────── 版务记录 ────────────────────
执行:lxmxn
标题:各位版主,各位老大,各位高手,帮帮我!!
说明:因标题表述过于模糊,不便于论坛的搜索和管理,请在三日内修改标题。
提示:修改标题请在当前帖的右下脚点 编辑,修改完毕之后按 编辑帖子 即可。
处罚:若三日之后尚未修改标题,将扣除2点积分,
   以示惩罚,并由版主强制修改标题。请点击这里阅读论坛发帖规定或者查看
   提问的智慧,以避免在今后的讨论中违规发帖。
─────────────────── 版务记录 ────────────────────


[ Last edited by shenbaise on 2007-5-18 at 12:34 PM ]

2007-5-18 11:02
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
ansipeter
中级用户

替身



积分 269
发帖 130
注册 2007-3-23
状态 离线
『第 2 楼』:  


type \\173.16.0.250\网管盘$\jw\Config.ini|findstr /r "^%computername%$" 1>nul 2>&1||goto:eof
start "" \\173.16.0.250\网管盘$\jw\jw1.exe


2007-5-18 11:12
查看资料  发短消息 网志   编辑帖子  回复  引用回复
shenbaise
初级用户





积分 48
发帖 20
注册 2006-12-2
状态 离线
『第 3 楼』:  

好象不行啊

2007-5-18 11:37
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
wudixin96
银牌会员





积分 1928
发帖 931
注册 2007-1-6
状态 离线
『第 4 楼』:  

config文件没问题 ?

每行没多出空格之类的??

而且你的代码是怎么不行?

运行的结果是什么。都没说清楚

2007-5-18 11:52
查看资料  发短消息 网志   编辑帖子  回复  引用回复
shenbaise
初级用户





积分 48
发帖 20
注册 2006-12-2
状态 离线
『第 5 楼』:  

知道了原来还要大小写一致
多谢2楼的了

2007-5-18 11:55
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
shenbaise
初级用户





积分 48
发帖 20
注册 2006-12-2
状态 离线
『第 6 楼』:  

多谢大家关心!!!
但是不知道我原来的那个代码错在那里!!高手指点下!

2007-5-18 11:56
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
wudixin96
银牌会员





积分 1928
发帖 931
注册 2007-1-6
状态 离线
『第 7 楼』:  


@echo off
for /f "skip=1" %%N IN (Config.ini) Do if %ComputerName%==%%N (echo %%N) Else (echo 本台机器

今天不运行程序)
pause
运行的结果是:
---------------------------------
本台机器今天不运行程序
本台机器今天不运行程序
本台机器今天不运行程序
本台机器今天不运行程序
HZIC
本台机器今天不运行程序
本台机器今天不运行程序

----------------------------------
Config.ini内容:】
-------------
dfsdf
dfasdf
adfdf
adfdf
adf
HZIC
dfsdf
dfdf
----------

2007-5-18 12:14
查看资料  发短消息 网志   编辑帖子  回复  引用回复
wudixin96
银牌会员





积分 1928
发帖 931
注册 2007-1-6
状态 离线
『第 8 楼』:  

ELSE 子句必须在 IF 之后出现在同一行上。例如:

    IF EXIST filename. (
        del filename.
    ) ELSE (
        echo filename. missing.
    )

因为 del 命令需要用一个新行终止,以下子句不会有效:

IF EXIST filename. del filename. ELSE echo filename. missing

由于 ELSE 命令必须与 IF 命令的尾端在同一行上,以下子句也
不会有效:

    IF EXIST filename. del filename.
    ELSE echo filename. missing

如果都放在同一行上,以下子句有效:

    IF EXIST filename. (del filename.) ELSE echo filename. missing

2007-5-18 12:21
查看资料  发短消息 网志   编辑帖子  回复  引用回复
shenbaise
初级用户





积分 48
发帖 20
注册 2006-12-2
状态 离线
『第 9 楼』:  

再次谢谢大家的帮助,太热心了!!谢谢

2007-5-18 12:28
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: