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

VBScript
VBS教程:运算符-Xor 运算符
VBS教程:运算符-减运算符 (-)
VBS教程:运算符-Or 运算符
VBS教程:运算符-运算符概述
VBS教程:运算符-运算符优先级
VBS教程:运算符-Not 运算符
VBS教程:运算符-乘运算符 (*)
VBS教程:运算符-Mod 运算符
VBS教程:运算符-逻辑运算符
VBS教程:运算符-Is 运算符
VBS教程:运算符-\ 运算符
VBS教程:运算符-Imp 运算符
VBS教程:运算符-幂运算符 (^)
VBS教程:运算符-Eqv 运算符
VBS教程:运算符-除运算符 (/)
VBS教程:运算符-连接运算符 (&)
VBS教程:运算符-比较运算符
VBS教程:运算符-赋值运算符 (=)
VBS教程:运算符-And 运算符
VBS教程:运算符-运算符(+)

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


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