Board logo

标题: 这个脚本错在哪里了? [打印本页]

作者: shayulei     时间: 2008-8-8 16:10    标题: 这个脚本错在哪里了?

'读取计算机名,计算机名存放在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 ]
作者: slore     时间: 2008-8-8 19:06    标题: 不知道你啥意思

将改计算机名称的那部份放在一个脚本里 不等于 二部分和起来 麽?
作者: HAT     时间: 2008-8-9 01:40

@echo off
set /p newname=<"D:\other\PCName\pcname.txt"
wmic computersystem where "name='%computername%'" call rename %newname%

作者: huahua0919     时间: 2008-8-9 10:46
看楼主的题目真让人费解啊
这个真是批处理吗

如果你第二部分可以执行的话,那程序肯定是错在你在读取文本中字符时候出错了
我建议楼主在第一部分的最后加上
msgbox pcname,65
测试一下看看返回值是什么.然后在连接两个程序
作者: shayulei     时间: 2008-8-11 10:02
我测试了PCNAME里的值是正确的,但第二段VBS没有成功的把计算机名改掉,不知道怎么回事!?
作者: shayulei     时间: 2008-8-11 11:37
感谢您的代码,想不到用处批理,只要短短几行,我还在VBS里苦苦摸索。

  Quote:
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%