我正在编写一个重命名远程PC上文件夹的脚本。但它不起作用。 我执行脚本没有任何反应。我使用了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
答案 0 :(得分:2)
当您使用WMI连接时,不要使用Win32_Directory的UNC路径(因为它是该WMI存储库的本地路径)。
因此请使用("Select * From Win32_Directory Where Name = 'C:\\Data'")
答案 1 :(得分: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