标题: [系统相关] 批处理文件如何用If命令判断计算机名? [打印本页]
作者: gzvtc46 时间: 2011-12-16 12:23 标题: 批处理文件如何用If命令判断计算机名?
如题,我想实现的功能是利用批处理判断计算机名,如果相同执行run1 如果不相同则执行run2,但是不知道为什么运行我的批处理后会两条语句都同时执行的,既执行了Run1又执行了Run2,求助。- @echo off
- if %computername%=="pc20801013" goto run1 else goto run2
- :run1
- start test1.txt
- :run2
- start test2.txt
复制代码
作者: awk 时间: 2011-12-16 13:10
- @echo off
- if "%computername%"=="pc20801013" (
- goto :run1
- ) else (
- goto :run2
- )
- goto :end
-
- :run1
- start test1.txt
- goto :end
-
- :run2
- start test2.txt
- goto :end
-
- :end
- pause
复制代码
作者: x9tiancmd 时间: 2011-12-16 14:05
本帖最后由 x9tiancmd 于 2011-12-16 14:06 编辑
如题,我想实现的功能是利用批处理判断计算机名,如果相同执行run1 如果不相同则执行run2,但是不知道为什么 ...
gzvtc46 发表于 2011-12-16 12:23
@echo off
::仔细看颜色处
if %computername%=="pc20801013" goto run1 else goto run2
exit
start test1.txt
goto :eof
start test2.txt
goto :eof
顺便奉告楼主一句, 像你写这个用于大量机部局的网络. 照你这样判断下去,几台机子没问题, 成百上千台,你打算把这批处理写到和长江一样长么
因当再批处理语法上,和计算机名上多下功夫. 这种本末倒至的,批处理不要也罢.
本人给你个思路 你计算机命名可以通过一个规则,不通的名运行不同的程序.- @echo off
- goto %computername:~0,3%
- pause&exit
- :PCA
- echo.计算机为A类运行
- goto :eof
- :PCB
- echo.计算机为B类运行
- goto :eof
复制代码
作者: gzvtc46 时间: 2011-12-16 14:13
awk 发表于 2011-12-16 13:10
很多谢你的指引,原来是判断结果正确执行完Run1后没有退出,所以继续执行Run2导致的结果!
作者: gzvtc46 时间: 2011-12-16 14:24
回复 3# x9tiancmd
很多谢您的提醒,其实我也考虑过你所说的问题,我做这个批处理的作用是,原本我就有一个批处理是所有电脑统一桌面墙纸的,但是有几台机出于特殊原因不用而且又是在同一个组里面,所以在原始的秕处理上加了一个判断了。
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |