0

我正在编写一个重命名远程电脑上的文件夹的脚本。但它不起作用。如果我执行脚本没有任何反应。我使用 Hey Scripting Guy 博客的修改版本。如果我使用普通路径名 (c:\data) 而不是远程路径名 (\\"& strcomputer &"C$\data) 它可以工作。但是如果我使用远程路径名,什么都不会发生。你们知道怎么回事吗?

strComputer = "hostname"

Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")

Set colFolders = objWMIService.ExecQuery _
("Select * From Win32_Directory Where Name = '\\\\"& strComputer &"C$\\Data'")

For Each objFolder in colFolders
strNewName = objFolder.Name & ".old"
objFolder.Rename strNewName
Next
4

2 回答 2

2

当您使用 WMI 连接时,您不使用带有 Win32_Directory 的 UNC 路径(因为它是该 WMI 存储库的本地路径)。

所以使用("Select * From Win32_Directory Where Name = 'C:\\Data'")

于 2013-10-09T17:03:15.807 回答
0

您应该能够使用 FileSystemObject 完成您的任务...

strComputer = "hostname"

strFolderName = "\\"& strComputer &"\C$\Data"

Set objFSO = CreateObject("Scripting.FileSystemObject")

If objFSO.FolderExists(strFolderName) Then
    Set objFolder = objFSO.GetFolder(strFolderName)
    strNewName = objFolder.Name & ".old"
    objFolder.Name = strNewName
End If
于 2013-10-09T17:01:40.987 回答