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

VBScript
VBS教程:语句-While...Wend 语句
VBS教程:VBScript 语句-Sub 语句
VBS教程:VBScript 语句-Set 语句
VBS教程:VBScript 语句-Select Case 语句
VBS教程:VBScript 语句-Rem 语句
VBS教程:VBScript 语句-ReDim 语句
VBS教程:VBScript 语句-Randomize 语句
VBS教程:VBScript 语句-Public 语句
VBS教程:VBScript 语句-Property Set 语句
VBS教程:VBScript 语句-Property Let 语句
VBS教程:VBscript语句-Property Get 语句
VBS教程:VBscript语句-Private 语句
VBS教程:VBscript语句-Option Explicit 语句
VBS教程:VBscript语句-On Error 语句
VBS教程:VBscript语句-If...Then...Else 语句
VBS教程:VBscript语句-Function 语句
VBS教程:VBscript语句-For...Next 语句
VBS教程:VBscript语句-For Each...Next 语句
VBS教程:VBscript语句-Exit 语句
VBS教程:VBscript语句-ExecuteGlobal 语句

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-11   浏览: 194 ::
收藏到网摘: 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)存在才可以