iT邦幫忙

DAY 19
5

WSH研習記錄系列 第 21

WSH研習記錄--資料夾操作篇(資料夾的複製、移動)

資料夾跟檔案一樣也是可以做複製與移動
不過在做這些動作之前還是得先確認資料夾的使權限
以免產生錯誤。
複製資料夾(CopyFolder方法)
要複製資料夾可使用CopyFolder方法來達成
以CopyFolder方法來達成的話
資料夾內的子資料夾等檔案也都會一併被複製

Option Explicit

Private FSO
Private ThisDir
Private DesktopPath

Set FSO = CreateObject("Scripting.FileSystemObject")
ThisDir = FSO.GetParentFolderName(WScript.ScriptFullName)
DesktopPath = CreateObject("WScript.Shell").SpecialFolders("Desktop")
FSO.CopyFolder ThisDir, DesktopPath & "\", True
Set FSO = Nothing

將程式檔所在的父資料夾複製一份到桌面上

移動資料夾(MoveFolder方法)
MoveFolder方法可達到資料夾的移動
但是必需在同一個磁碟糟裡

Option Explicit

Private FSO
Private ThisDir
Private ThisDirName
Private ParentDir
Private DesktopPath
Private Shell

Set FSO = CreateObject("Scripting.FileSystemObject")
ThisDir = FSO.GetParentFolderName(WScript.ScriptFullName)
ThisDirName = FSO.GetFileName(ThisDir)
ParentDir = FSO.GetParentFolderName(ThisDir)
With CreateObject("WScript.Shell")
	DesktopPath =  .SpecialFolders("Desktop")
	.CurrentDirectory = ParentDir
End With

FSO.MoveFolder ThisDir, DesktopPath & "\"
Set Shell = CreateObject("Shell.Application")
Shell.MinimizeAll
Shell.Explore ParentDir

MsgBox "資料夾已經移動了!!" & vbCrLF & "請確認。"

Set FSO = Nothing
Set Shell = Nothing

使用這個方法會有限制
除了必需同一個磁碟
如果欲移動的資料夾在其它的應用程式中為目前資料夾
或是目前資料夾的父資料夾的話,會被鎖住
執行時就會出現錯誤。

提供給有需要的人..


上一篇
WSH研習記錄--資料夾操作篇(新增資料夾)
下一篇
WSH研習記錄--資料夾操作篇(刪除整個資料夾)
系列文
WSH研習記錄42

尚未有邦友留言

立即登入留言