中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-08-02 19:19
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 怎样无重复显示符合要求的计算机名称? 查看 854 回复 14
楼 主 怎样无重复显示符合要求的计算机名称? 发表于 2006-12-23 11:06 ·  中国 湖北 武汉 硚口区 电信
初级用户
积分 20
发帖 8
注册 2006-12-23 09:03
19年会员
UID 74345
性别 男
状态 离线
有200台机器,怎样通过
判断一个文件c:\xx.exe不存在后,显示该计算机名到d:\a.txt文件中
并且 计算机名字 不要重复!! 批处理怎么写啊

要求保留符合条件的计算机名~
2 发表于 2006-12-23 12:08 ·  中国 福建 厦门 电信
初级用户
积分 68
发帖 36
注册 2006-12-20 15:31
19年会员
UID 74057
性别 男
状态 离线
@echo off
if exist C:\xx.exe goto exit
echo %userdomain% >D:\a.txt
echo.
:exit
exit
3 Modify! 发表于 2006-12-23 12:14 ·  中国 北京 中国科学院研究生院
银牌会员
★★★
积分 1,187
发帖 555
注册 2006-12-21 07:35
19年会员
UID 74129
性别 男
状态 离线


@if not exist C:\xx.exe ( echo %userdomain% >D:\a.txt ) else ( echo File is found!)

It must be typed
in a line.

[ Last edited by scriptor on 2006-12-22 at 11:15 PM ]
4 ? 发表于 2006-12-23 12:16 ·  中国 湖北 武汉 硚口区 电信
初级用户
积分 20
发帖 8
注册 2006-12-23 09:03
19年会员
UID 74345
性别 男
状态 离线
你这样写,,a.txt里面只能保留 1个计算机名!!!!!!!!!!
我需要保存所有符合条件的计算机名~
5 发表于 2006-12-23 12:17 ·  中国 湖北 武汉 硚口区 电信
初级用户
积分 20
发帖 8
注册 2006-12-23 09:03
19年会员
UID 74345
性别 男
状态 离线
IF EXIST C:\"Program Files\Globallink" (exit) ELSE (if exist \\games\log$\ATI\%userdomain%.txt (exit) else echo %userdomain%>\\games\log$\ATI\%userdomain%.txt)

这一句对吗?
感觉很罗嗦,,简练的怎么写啊?
6 发表于 2006-12-23 12:21 ·  中国 福建 厦门 电信
初级用户
积分 68
发帖 36
注册 2006-12-20 15:31
19年会员
UID 74057
性别 男
状态 离线
Who must print a line ? which I can code ? JB every day that birds, birds very own amazing ah
7 发表于 2006-12-23 12:22 ·  中国 湖北 武汉 硚口区 电信
初级用户
积分 20
发帖 8
注册 2006-12-23 09:03
19年会员
UID 74345
性别 男
状态 离线
上面的都是一行~
8 发表于 2006-12-23 12:24 ·  中国 福建 厦门 电信
初级用户
积分 68
发帖 36
注册 2006-12-20 15:31
19年会员
UID 74057
性别 男
状态 离线
http://www.cn-dos.net/forum/viewthread.php?tid=18996&fpage=1&highlight=%E9%87%8D%E5%A4%8D
这贴是说如何判断行内容相同并作相应处理~~还没研究透..可参考考一下.

echo %userdomain% >>D:\a.txt 这样就可以写入所有计算机名
9 sdd 发表于 2006-12-23 12:32 ·  中国 湖北 武汉 硚口区 电信
初级用户
积分 20
发帖 8
注册 2006-12-23 09:03
19年会员
UID 74345
性别 男
状态 离线
我知道,但是你这句 如果多次运行,,a.txt里面会有重复的计算机名!!!
10 发表于 2006-12-23 12:33 ·  中国 福建 厦门 电信
初级用户
积分 68
发帖 36
注册 2006-12-20 15:31
19年会员
UID 74057
性别 男
状态 离线
..思考中..

[ Last edited by fjcyz on 2006-12-22 at 11:42 PM ]
11 发表于 2006-12-23 12:36 ·  中国 福建 厦门 电信
初级用户
积分 68
发帖 36
注册 2006-12-20 15:31
19年会员
UID 74057
性别 男
状态 离线
很文本里的内容来判断是否有重复, 难一些...等高手.~~

但是如果每台运行批处理后生成一个文件文件,.用批处理判断文件是否重复就简单一些.
12 发表于 2006-12-23 12:45 ·  中国 广东 电信
荣誉版主
★★★★
batch fan
积分 5,226
发帖 1,737
注册 2006-03-10 00:38
20年会员
UID 51697
来自 成都
状态 离线
  问题的关键是:如何在某台机子上获取联网的其他机器的计算机名,其余的都是很简单的事情。因为没有联网环境可做试验,暂时没法提供代码。

  另外,在楼主的需求中,过滤重复的计算机名和8F所指向的帖子里的方案有很大区别,用 findstr 的正则就可以很容易地实现。
尺有所短,寸有所长,学好CMD没商量。
考虑问题复杂化,解决问题简洁化。
13 Thanks 发表于 2006-12-23 12:49 ·  中国 北京 中国科学院研究生院
银牌会员
★★★
积分 1,187
发帖 555
注册 2006-12-21 07:35
19年会员
UID 74129
性别 男
状态 离线
Originally posted by noop at 2006-12-22 23:16:
你这样写,,a.txt里面只能保留 1个计算机名!!!!!!!!!!
我需要保存所有符合条件的计算机名~



It is my fault , just mistyping a ">"

thanks!
14 发表于 2006-12-23 12:52 ·  中国 福建 厦门 电信
初级用户
积分 68
发帖 36
注册 2006-12-20 15:31
19年会员
UID 74057
性别 男
状态 离线
我觉得楼主的想法应该

在200台机子每台都运行一个批处理,然后将该批处理的报告结果写入Game这台共享机里.

版主可否针对这个写个批处理,学习学习.
15 发表于 2006-12-23 12:58 ·  中国 广西 南宁 联通
金牌会员
★★★★
积分 3,687
发帖 1,467
注册 2005-08-08 12:00
20年会员
UID 44210
状态 离线
如果是LS的说法,改为:
@echo off
if exist C:\xx.exe exit
echo %userdomain% >>网络路径......\a.txt
论坛跳转: