Win32_Directory クラスの Rename メソッド
RENAME WMI クラスメソッドは、オブジェクト パスで指定されたディレクトリ エントリ ファイルの名前を変更します。 コピー先が別のドライブ上にある場合、または既存の論理ファイルを上書きする必要がある場合は、名前の変更はサポートされません。
このトピックでは、マネージド オブジェクト形式 (MOF) 構文を使用します。 このメソッドの使用方法の詳細については、「メソッド の呼び出し」を参照してください。
構文
uint32 Rename(
string FileName
);
パラメーター
-
FileName
-
ファイル (またはディレクトリ) の完全修飾新しい名前。 例: c:\temp\newfile.txt。
戻り値
ファイルの名前が正常に変更された場合は 0 (ゼロ) の値を返し、エラーを示すその他の数値を返します。
-
0
-
要求は成功しました。
-
2
-
アクセスが拒否されました。
-
8
-
未指定のエラーが発生しました。
-
9
-
指定された名前が無効でした。
-
"10"
-
指定されたオブジェクトは既に存在します。
-
11
-
このファイル システムは NTFS ではありません。
-
12
-
プラットフォームは Windows ではありません。
-
13
-
ドライブは同じではありません。
-
14
-
ディレクトリが空ではありません。
-
15
-
共有違反が発生しました。
-
16
-
指定された開始ファイルが無効でした。
-
17
-
操作に必要な特権は保持されません。
-
21
-
指定されたパラメーターが無効です。
注釈
フォルダーの名前を変更するには、まず対象のフォルダーにバインドしてから、Rename メソッドを呼び出します。 メソッドの唯一のパラメーターとして、フォルダーの新しい名前を完全なパス名として渡します。 たとえば、C:\Scripts\Logs\Backup 内のフォルダーの名前を C:\Scripts\Archive に変更する場合は、完全なフォルダー名として C:\Scripts\Archive を渡す必要があります。 フォルダー名 (アーカイブ) のみを渡すと、無効なパス エラーが発生します。
Win32_Directory クラスには、フォルダーを移動するための 1 段階のメソッドは用意されていません。 通常、フォルダーを移動するには、次の 2 つの手順が必要です。
- 1. フォルダーを新しい場所にコピーする 2.元のフォルダーの削除
この 2 段階のプロセスの例外の 1 つは、フォルダーを同じドライブ上の新しい場所に移動することです。 たとえば、C:\Temp を C:\Scripts\Temporary Files\Archive に移動するとします。 現在の場所と新しい場所が同じドライブ上にある限り、Rename メソッドを呼び出してメソッド パラメーターとして新しい場所を渡すだけで、フォルダーを移動できます。 この方法を使用すると、1 つの手順でフォルダーを効果的に移動できます。 ただし、現在のドライブと新しいドライブが異なる場合、スクリプトは失敗します。 C:\Temp の名前を D:\Temp に変更しようとすると、"ドライブが同じではありません" というエラーで失敗します。
例
TechNet ギャラリーの WMI VBScript を 使用してフォルダーを移動 するサンプルの次のコードでは、Rename メソッドを使用してフォルダー C:\Scripts を C:\Admins\Documents\Archive\VBScript に移動します。
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("C:\Admins\Documents\Archive\VBScript")
Next
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント |
Windows Vista |
サポートされている最小のサーバー |
Windows Server 2008 |
名前空間 |
Root\CIMV2 |
MOF |
|
[DLL] |
|