当前位置: 首页 > 图文教程 > 脚本技术 > VBScript > vbs fso跨盘移动文件夹的怪问题

VBScript
VBS教程:方法-Skip 方法
VBS教程:方法-Remove 方法
VBS教程:方法-ReadLine 方法
VBS教程:方法-ReadAll 方法
VBS教程:方法-Read 方法
VBS教程:方法-OpenTextFile 方法
VBS教程:方法-OpenAsTextStream 方法
VBS教程:方法-MoveFolder 方法
VBS教程:方法-MoveFile 方法
VBS教程:方法-Move 方法
VBS教程:方法-Keys 方法
VBS教程:方法-Items 方法
VBS教程:方法-GetTempName 方法
VBS教程:方法-GetSpecialFolder 方法
VBS教程:方法-GetParentFolderName 方法
VBS教程:方法-GetFolder 方法
VBS教程:方法-GetFileName 方法
VBS教程:方法-GetFile 方法
VBS教程:方法-GetExtensionName 方法
VBS教程:方法-GetDriveName 方法

VBScript 中的 vbs fso跨盘移动文件夹的怪问题


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-11   浏览: 187 ::
收藏到网摘: n/a

跨盘移动文件夹的怪问题
Set objFSO = CreateObject("Scripting.FileSystemObject")
objFSO.MoveFolder "C:\Scripts" , "d:\2"
权限拒绝,但是copy就可以。可以采用变通的办法先复制再删除
========================================wmi=================
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colFolders = objWMIService.ExecQuery _
("Select * from Win32_Directory where name = 'c:\\Scripts'")
For Each objFolder in colFolders
errResults = objFolder.Rename("d:\\VBScript")
Wscript.Echo errResults
Next
错误码13,估计是更名的时候不允许ren c:\1 d:\2这样的格式
========================Shell.Application可以成功====================
Const FOF_CREATEPROGRESSDLG = &H0&
TargetFolder = "c:\3"
Set objShell = CreateObject("Shell.Application")
Set objFolder = objShell.NameSpace(TargetFolder)
objFolder.MoveHere "d:\downloads", FOF_CREATEPROGRESSDLG
但是必须目标文件夹(像本例的是c:\3)存在才可以