Win32_Directory クラスの Copy メソッド
CopyWMI クラス メソッドは、オブジェクト パスで指定された論理ディレクトリ エントリ ファイルまたはディレクトリを、入力パラメーターで指定された場所にコピーします。 既存の論理ファイルを上書きする必要がある場合、コピーはサポートされません。
このトピックでは、マネージド オブジェクト形式 (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 サーバーにコピーする必要がある scripts フォルダーがある場合があります。
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] |
|