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

跨盘移动文件夹的怪问题
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)存在才可以

(0)

相关推荐

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

    跨盘移动文件夹的怪问题 Set objFSO = CreateObject("Scripting.FileSystemObject") objFSO.MoveFolder "C:\Scripts" , "d:\2" 权限拒绝,但是copy就可以.可以采用变通的办法先复制再删除 ========================================wmi================= strComputer = ".&quo

  • VBS获取当前目录下所有文件夹名字的代码

    VBS获取当前目录下所有文件夹名字,不包括子文件夹.我要给每个文件夹进行操作,所以最好用循环输出. 测试的时候要保证当前目录下有文件夹才可以,否则输出为空. 复制代码 代码如下: Set ws=WScript.CreateObject("wscript.shell")w=ws.CurrentDirectorySet fso=WScript.CreateObject("scripting.filesystemobject")Set fs=fso.GetFolder(w

  • 复制文件到c盘windows文件夹下的system32的批处理写法

    现在想从"C:\Program Files\常用绿色软件\soft\"将'FinalData.exe'.'OfficeDiary.exe'.'DisplayX.exe'这三个程序拷贝到'C:\WINDOWS\system32'并覆盖原有的三个,应该怎么编写??? 问题1:批处理的编写支持长文件夹和长文件名吗? 问题2:批处理的编写支持中文文件夹吗? 问题3:覆盖原有文件会出现提示吗?如果会,怎么让它不提示直接覆盖了? @echo off for %%a in (FinalData Of

  • 服务器性能变慢 c盘temp文件夹存在大量sess开头文件的问题原因及解决

    通过搜查找到了问题所在并进行了解决,在此详细记录以供参考. 一. temp文件夹大量文件的删除 以sess开头的存在于temp系统临时文件夹的文件,是php的session保存文件,由于php建立了session却在过期后没有成功删除,于是导致大量文件的积累. 清理方法很简单,新建批处理文件del_temp.bat,其中写入如下命令: 复制代码 代码如下: del %TEMP% /s /q *.* 保存后双击运行,即开始进行删除处理(也可直接在cmd命令行中输入执行)你也可以将其加入开机启动项,

  • VBS打开当前脚本所在文件夹

    方法一:Wscript.ScriptFullName '创建一个 Wscript.Shell 对象的实例,稍后会使用这个对象启动 Windows 资源管理器 Set objShell = CreateObject("Wscript.Shell") '获取脚本的路径 strPath = Wscript.ScriptFullName Set objFSO = CreateObject("Scripting.FileSystemObject") Set objFile =

  • VBS递归创建多级目录文件夹的方法

    核心代码 CreateFolders "d:\jb51test\1\2\3\4\5" Function CreateFolders(path) Set fso = CreateObject("scripting.filesystemobject") CreateFolderEx fso,path set fso = Nothing End Function Function CreateFolderEx(fso,path) If fso.FolderExists(p

  • vbs下通过日期查找文件夹的代码

    On Error Resume Next dtmTargetDate = "20020301000000.000000-420" strComputer = "." Set objWMIService = GetObject _     ("winmgmts:" & "!\\" & strComputer & "\root\cimv2") Set colFolders = objWM

  • 自动删除超过10天的文件及文件夹的vbs代码

    复制代码 代码如下: option explicit dim fpath,fso,logfile,fwrite fpath=inputbox ("输入目标文件夹","文件处理器") logfile="logfile.txt" set fso=createobject("scripting.filesystemobject") Set fwrite=fso.opentextfile(logfile,8,true) getfile

  • 使用FSO修改文件夹的名称实现文件转移防盗链

    那天突然的一个灵感,是针对防盗链的 正常上传的文件,若被人盗链则增加了自己服务器的负担,上次164.cc就因此被挂 然后想想对策,目前各类防盗链程序也不少,不过使用也并不简单,还有就是不能免费-- 所以,只有自己先想办法.那么,现在看看标题,再想想防盗链,或许就有些眉目了 我可以不定时的修改上传文件所在的文件夹名称,而本站程序是动态获得文件夹名称,这样原先盗用本站文件的站点会因路径的错误而找不到文件,从而也就实现了防盗链. 那么,如何使用FSO修改文件夹的名称呢? 一个简单的函数: 复制代码 代

  • cacls命令设置文件及其文件夹权限的方法

    网上有许多讲解cacls权限设置的文章,虽然已经讲的比较简单,但是新手依然看的一头雾水,操作性不强. 下面以实例为大家一部一部讲解几个实用的命令. 你是否不想让别人在你的电脑上打开某个文件夹或者文件?是否有时想允许让别人看某个文件和文件夹下的文件,但是不想让别人更改?或者不想让自己电脑上的某个账户不能访问某个文件夹?如果有过那么可以用以下命令实现,而不需要借助其他加密软件. 注意要限制别人访问的文件或者文件夹所在盘必须要是NTFS文件系统的,而不能是FAT32格式.这或许是ntfs文件系统安全性

随机推荐