|
shayulei
中级用户
  
积分 301
发帖 74
注册 2005-2-25
状态 离线
|
『楼 主』:
这个脚本错在哪里了?
'读取计算机名,计算机名存放在d:\other\PCName\pcname.txt中
Dim fso, f, Msg, pcname
Set fso = CreateObject("Scripting.FileSystemObject")
Set f = fso.OpenTextFile("d:\other\PCName\pcname.txt", 1,False)
pcname = f.Read(5)
'改本地计算机名称
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colComputers = objWMIService.ExecQuery _
("Select * from Win32_ComputerSystem")
For Each objComputer in colComputers
err = ObjComputer.Rename(pcname)
Next
将改计算机名称的那部份放在一个脚本里运行就没有问题,二部分和起来,就不能改计算机名称为什么?
[ Last edited by shayulei on 2008-8-11 at 10:01 AM ]
|
|
2008-8-8 16:10 |
|
|
slore
铂金会员
      
积分 5212
发帖 2478
注册 2007-2-8
状态 离线
|
『第
2 楼』:
不知道你啥意思
将改计算机名称的那部份放在一个脚本里 不等于 二部分和起来 麽?
|

S smile 微笑,L love 爱,O optimism 乐观,R relax 放松,E enthusiasm 热情...Slore |
|
2008-8-8 19:06 |
|
|
HAT
版主
       
积分 9023
发帖 5017
注册 2007-5-31
状态 离线
|
『第
3 楼』:
@echo off
set /p newname=<"D:\other\PCName\pcname.txt"
wmic computersystem where "name='%computername%'" call rename %newname%
|

|
|
2008-8-9 01:40 |
|
|
huahua0919
银牌会员
    
积分 1608
发帖 780
注册 2007-10-7
状态 离线
|
『第
4 楼』:
看楼主的题目真让人费解啊
这个真是批处理吗
如果你第二部分可以执行的话,那程序肯定是错在你在读取文本中字符时候出错了
我建议楼主在第一部分的最后加上
msgbox pcname,65
测试一下看看返回值是什么.然后在连接两个程序
|
|
2008-8-9 10:46 |
|
|
shayulei
中级用户
  
积分 301
发帖 74
注册 2005-2-25
状态 离线
|
『第
5 楼』:
我测试了PCNAME里的值是正确的,但第二段VBS没有成功的把计算机名改掉,不知道怎么回事!?
|
|
2008-8-11 10:02 |
|
|
shayulei
中级用户
  
积分 301
发帖 74
注册 2005-2-25
状态 离线
|
『第
6 楼』:
感谢您的代码,想不到用处批理,只要短短几行,我还在VBS里苦苦摸索。 Originally posted by HAT at 2008-8-9 01:40 AM:@echo off
set /p newname=<"D:\other\PCName\pcname.txt"
wmic computersystem where "name='%computername%'" call rename %newname%
|
|
2008-8-11 11:37 |
|