C# (.CS) によるファイル削除
C# (.CS) によるファイル削除
// 基本
// ファイルが存在しなくても例外は発生しない
// ファイルが存在しなくても例外は発生しない
System.IO.File.Delete( sPath );
// フォルダ構成を残したままファイルのみを削除する
static void DeleteFileInFolderStructure( string sPath )
{
var files = System.IO.Directory.EnumerateFiles( sPath );
foreach( string filePath in files )
{
// ファイル削除
System.IO.File.Delete( filePath );
}
var directories = System.IO.Directory.EnumerateDirectories( sPath );
foreach( string directoryPath in directories )
{
// 再帰呼び出し
DeleteFileInFolderStructure( directoryPath );
}
}
// フォルダの中身を空にする
static void EmptyFolder( string sPath )
{
var files = System.IO.Directory.EnumerateFiles( sPath );
foreach( string filePath in files )
{
// ファイル削除
System.IO.File.Delete( filePath );
}
var directories = System.IO.Directory.EnumerateDirectories( sPath );
foreach( string directoryPath in directories )
{
}
}
発生する例外
状況 | スローされる例外 | メッセージ |
存在しないファイルのパスを指定 | - | - |
ワイルドカードを指定 | System.ArgumentException | パスに無効な文字が含まれています。 |
存在しないフォルダ・パスを指定 | System.IO.DirectoryNotFoundException | パス '●●●●' の一部が見つかりませんでした。 |
他のプロセスでオープンしているファイル/フォルダを指定 | System.IO.IOException | 別のプロセスで使用されているため、プロセスはファイル '●●●●' にアクセスできません。 |