Win32_Directory 類別的 Copy 方法
CopyWMI 類別方法會將物件路徑中指定的邏輯目錄專案檔或目錄複寫到輸入參數所指定的位置。 如果需要覆寫現有的邏輯檔案,則不支援複本。
本主題使用 Managed 物件格式 (MOF) 語法。 如需使用此方法的詳細資訊,請參閱 呼叫 方法。
語法
uint32 Copy(
string FileName
);
參數
-
FileName
-
檔案 (或目錄) 複本的完整名稱。 範例:c:\temp\newdirectory
傳回值
如果檔案成功複製,則傳回值為 0 (零) ,以及指出錯誤的任何其他數位。
-
0
-
要求成功。
-
2
-
拒絕存取。
-
8
-
發生未指定的失敗。
-
9
-
指定的名稱無效。
-
10
-
指定的 物件已經存在。
-
11
-
檔案系統不是 NTFS。
-
12
-
平臺未Windows。
-
13
-
磁片磁碟機不相同。
-
14
-
目錄不是空的。
-
15
-
發生共用違規。
-
16
-
指定的開始檔案無效。
-
17
-
作業所需的許可權不會保留。
-
21
-
指定的參數無效。
備註
資料夾通常需要從某個位置複製到另一個位置。 例如,您可以將資料夾從一部伺服器複製到另一部伺服器,以建立該資料夾的備份複本。 或者,您可能有一個範本資料夾必須複製到使用者工作站,或應該複製到所有 DNS 伺服器的腳本資料夾。
Win32_Directory Copy 方法可讓您將資料夾從某個位置複製到另一個位置,例如,將資料夾從磁片磁碟機 (C 複製到磁片磁碟機 D) 或遠端電腦上。 若要複製資料夾,您會傳回要複製之資料夾的實例,然後呼叫 Copy 方法,並以參數的形式傳遞資料夾新複本的目標位置。 例如,這行程式碼會將資料夾複製到磁片磁碟機 F 上的 Scripts 資料夾:
objFolder.Copy("F:\Scripts")
執行 Copy 方法時,WMI 不會覆寫現有的資料夾。 這表示如果目的地資料夾存在,複製作業就會失敗。 例如,假設您有一個名為 Scripts 的資料夾,而您嘗試將該資料夾複製到名為 \\atl-fs-01\archive 的遠端共用。 如果名為 Scripts 的資料夾已存在於該共用上,複製作業就會失敗。
範例
下列程式碼範例取自 使用 WMI 複製資料夾,使用 Copy 方法將資料夾 C:\Scripts 複製到 D:\Archive。
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.Copy("D:\Archive")
Next
規格需求
| 需求 | 值 |
|---|---|
| 最低支援的用戶端 |
Windows Vista |
| 最低支援的伺服器 |
Windows Server 2008 |
| 命名空間 |
Root\CIMV2 |
| MOF |
|
| DLL |
|