Win32_Directory クラスの Compress メソッド
WMI クラスの圧縮メソッドは、オブジェクト パスで指定された論理ディレクトリ エントリ ファイル (またはディレクトリ) を圧縮します。
このトピックでは、マネージド オブジェクト形式 (MOF) 構文を使用します。 このメソッドの使用方法の詳細については、「メソッドの 呼び出し」を参照してください。
構文
uint32 Compress();
パラメーター
このメソッドにはパラメーターはありません。
戻り値
ファイルが正常に圧縮された場合は 0 (ゼロ) の値を返し、エラーを示すその他の数値を返します。
-
0
-
要求は成功しました。
-
2
-
アクセスが拒否されました。
-
8
-
指定されていないエラーが発生しました。
-
9
-
指定された名前が無効です。
-
"10"
-
指定されたオブジェクトは既に存在します。
-
11
-
ファイル システムは NTFS ではありません。
-
12
-
プラットフォームは Windows ではありません。
-
13
-
ドライブは同じではありません。
-
14
-
ディレクトリが空ではありません。
-
15
-
共有違反が発生しました。
-
16
-
指定された開始ファイルが無効です。
-
17
-
操作に必要な特権は保持されません。
-
21
-
指定されたパラメーターが無効です。
解説
圧縮を使用すると、新しいハードウェアを購入したり、ファイルやフォルダーを削除したりすることなく、ディスク ドライブ上の追加の記憶域を解放できます。 ハード ディスクのサイズとそのディスクに格納されているファイルの種類によっては、数百メガバイトのディスク領域を回復できるため、新しいハード ドライブを購入し、新しいドライブがインストールされるまでコンピューターをオフラインにする必要が生じにくい場合があります。
Compress メソッドは、指定したフォルダー内のすべてのファイルとサブフォルダーを圧縮します。 さらに、 クラスには、フォルダー内のすべてのファイルとサブフォルダーから圧縮を削除する Compression メソッドも含まれています。 同様のメソッドも CIM_Datafile クラスで提供されます。 これにより、フォルダー内の特定のファイルを選択的に圧縮または圧縮解除できます。
圧縮はパフォーマンスに若干のペナルティを与えるので、日常的にアクセスされるファイルやフォルダーにはお勧めしません。たとえば、データベース ファイル、ログ ファイル、またはユーザー プロファイル フォルダーを圧縮したくない場合があります。 圧縮の候補は、あまり頻繁にアクセスされないファイルとフォルダーです。 たとえば、1 か月以上アクセスされていないドライブ上のフォルダーのコレクションを返し、それらの各フォルダーを圧縮するスクリプトを記述できます。
フォルダーの圧縮によって解放されるディスク領域の量は、そのフォルダーに格納されているファイルの種類によって異なります。 たとえば、.jpg ファイルは既に圧縮されており、それ以上の圧縮はファイルのサイズにほとんど影響しません。 ただし、他の種類のファイルでは、大幅な節約が可能です。 たとえば、Windows 2000 ベースのテスト コンピューターに新しいフォルダーが作成され、合計 15 メガバイト (MB) のディスク領域を占める 33 個の Microsoft Word ドキュメントがそのフォルダーにコピーされました。 ドキュメントが圧縮された場合、フォルダーは 7 MB のディスク領域しか占有できませんでした。
例
次の VBScript サンプルでは、フォルダー C:\Scripts を圧縮します。
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.Compress
Wscript.Echo errResults
Next
必要条件
要件 | 値 |
---|---|
サポートされている最小のクライアント |
Windows Vista |
サポートされている最小のサーバー |
Windows Server 2008 |
名前空間 |
Root\CIMV2 |
MOF |
|
[DLL] |
|