フォルダの大きさ(容量)を取得する
プログ
ラムからフォルダの大きさを取得する場合は、コードの冒頭でSystem.IO名前空間を読み
込みます。
using System.IO;
フォルダ情報の取得に
は、DirecotoryInfoクラスを用います。
フォルダ内に子フォルダが無い場合は、フォルダ内の各ファイル容量を合算することによりフォルダ容量を取得することができます。
long dirsize = 0 // フォルダ容量取得のためのlong変数
DirectoryInfo directory = new DirectoryInfo(directoryName)
; // directoryName・・・
フォルダへのフルパス。例え
ば、@"C:\samplefolder"
FileInfo [] files =
directory.GetFiles();
foreach(FileInfo file in files)
dirsize+=file.Length; // ファイル容量の加算
dirsize=(long)(dirsize/1024/1024);
//dirsizeにフォルダの大きさ(容量)がメガバイト単位で入る
子フォルダを含め、フォルダ容量を積算するには、再帰呼び出しを用いると容易に実現します。
なお、フォルダのフルパスを指定する際に、パス内に'\'が含まれる場合は、エスケープキーと区別するために、@マークを冒頭に付ける必
要があることに注意してください。
|
フォルダを
削除する
フォルダを削除するには、Directoryクラスの
Deleteメソッドを使います。
Directory.Delete(directoryName) ; // directoryName・・・
フォルダへのフルパス。例えば、@"C:\samplefolder
ただし、これ
で消去できるのは、フォルダが空の場合のみであり、空でない場合に強制的に削除するには、第2引数にtrueを指定します。
Directory.Delete(directoryName,true) ;
|
フォルダを
新たに作成する
フォルダを新たに生成するには、DirectoryクラスのCreateDirectoryメ
ソッドを使います。
using System.IO;
Directory.CreateDirectory(newdirName)
; // newdirName・・・
新しいフォルダへのフルパス。
新しいフォルダ名として既存のものを指定するとエラーとなるので、事前にフォルダの有無確認をお勧めします。
if
(Directory.Exists(newdirName))
Directory.CreateDirectory(newdirName)
;
|
フォルダがあるか確認する
フォルダが
存在するか確認するには、DirectoryクラスのExistsメソッドを使います。
using
System.IO;
Bool ex;
ex=File.Exists(directoryName) ; //directoryName・・・
フォルダへのフルパス。例えば、@"C:\sample"
|
フォルダ名を変更する
フォルダ名を変更する前に変更後の同一のフォルダ名がないかどうか確認します。
using
System.IO;
if ( !Directory.Exists(newName)) //newNameフォルダの存在有無の確認
{
DirectoryInfo dir = new
DirectoryInfo(oldName); //oldName・・・旧フォルダ名
dir.MoveTo(newName); //フォルダ名の変更
}
|