DirectoryInfo.Exists プロパティ
ディレクトリが存在するかどうかを示す値を取得します。
Overrides Public ReadOnly Property Exists As Boolean
[C#]
public override bool Exists {get;}
[C++]
public: __property bool get_Exists();
[JScript]
public override function get Exists() : Boolean;
プロパティ値
ディレクトリが存在する場合は true 。それ以外の場合は false 。
解説
このメソッドの使用例については、以下の「使用例」を参照してください。その他の一般的な I/O タスクまたは関連する I/O タスクの例を次の表に示します。
実行するタスク | 参考例があるトピック |
---|---|
テキスト ファイルを作成する。 | ファイルへのテキストの書き込み |
テキスト ファイルに書き込む。 | ファイルへのテキストの書き込み |
テキスト ファイルから読み取る。 | ファイルからのテキストの読み取り |
ディレクトリをコピーする。 | Directory |
ディレクトリの名前を変更、またはディレクトリを移動する。 | Directory.Move |
ディレクトリを削除する。 | Directory.Delete |
ディレクトリを作成する。 | CreateDirectory |
サブディレクトリを作成する。 | CreateSubdirectory |
ディレクトリ内のファイルを参照する。 | Name |
ディレクトリ内のサブディレクトリを参照する。 | GetDirectories |
ディレクトリ内のすべてのサブディレクトリにあるすべてのファイルを参照する。 | GetFileSystemInfos |
ディレクトリのサイズを取得する。 | Directory |
ファイルが存在するかどうかを判別する。 | Exists |
ディレクトリ内のファイルをサイズ順に並べ替える。 | GetFileSystemInfos |
使用例
ソース ディレクトリをターゲット ディレクトリにコピーする場合に、 Exists プロパティを使用する例を次に示します。
Imports System
Imports System.IO
Module Module1
Public Sub CopyDirectory(ByVal SourceDirectory As String, ByVal TargetDirectory As String)
Dim source As DirectoryInfo = New DirectoryInfo(SourceDirectory)
Dim target As DirectoryInfo = New DirectoryInfo(TargetDirectory)
'Determine whether the source directory exists.
If (source.Exists = False) Then
Return
End If
If (target.Exists = False) Then
target.Create()
End If
'Copy files.
Dim sourceFiles As FileInfo() = source.GetFiles()
Dim i, j As Integer
For i = 0 To sourceFiles.Length - 1
File.Copy(sourceFiles(i).FullName, target.FullName + "\\" + sourceFiles(i).Name, True)
Next i
'Copy directories.
Dim sourceDirectories As DirectoryInfo() = source.GetDirectories()
For j = 0 To sourceDirectories.Length - 1
CopyDirectory(sourceDirectories(j).FullName, target.FullName + "\\" + sourceDirectories(j).Name)
Next j
source = Nothing
target = Nothing
End Sub
Sub Main()
CopyDirectory("D:\\Tools", "D:\\NewTools")
End Sub
End Module
[C#]
using System;
using System.IO;
namespace DirectoryInfoCS2
{
class Class1
{
// Copy a source directory to a target directory.
static public void CopyDirectory(string SourceDirectory, string TargetDirectory)
{
DirectoryInfo source = new DirectoryInfo(SourceDirectory);
DirectoryInfo target = new DirectoryInfo(TargetDirectory);
//Determine whether the source directory exists.
if(!source.Exists)
return;
if(!target.Exists)
target.Create();
//Copy files.
FileInfo[] sourceFiles = source.GetFiles();
for(int i = 0; i < sourceFiles.Length; ++i)
File.Copy(sourceFiles[i].FullName, target.FullName + "\\" + sourceFiles[i].Name,true);
//Copy directories.
DirectoryInfo[] sourceDirectories = source.GetDirectories();
for(int j = 0; j < sourceDirectories.Length; ++j)
CopyDirectory(sourceDirectories[j].FullName,target.FullName +"\\" + sourceDirectories[j].Name);
}
static void Main(string[] args)
{
CopyDirectory("D:\\Tools","D:\\NewTools");
}
}
}
[C++]
#using <mscorlib.dll>
using namespace System;
using namespace System::IO;
// Copy a source directory to a target directory.
void CopyDirectory(String* SourceDirectory, String* TargetDirectory)
{
DirectoryInfo* source = new DirectoryInfo(SourceDirectory);
DirectoryInfo* target = new DirectoryInfo(TargetDirectory);
//Determine whether the source directory exists.
if(!source->Exists)
return;
if(!target->Exists)
target->Create();
//Copy files.
FileInfo* sourceFiles[] = source->GetFiles();
for(int i = 0; i < sourceFiles->Length; ++i)
File::Copy(sourceFiles[i]->FullName, String::Concat( target->FullName, S"\\", sourceFiles[i]->Name ), true);
//Copy directories.
DirectoryInfo* sourceDirectories[] = source->GetDirectories();
for(int j = 0; j < sourceDirectories->Length; ++j)
CopyDirectory(sourceDirectories[j]->FullName, String::Concat( target->FullName, S"\\", sourceDirectories[j]->Name ));
}
int main()
{
CopyDirectory(S"D:\\Tools", S"D:\\NewTools");
}
[JScript]
import System;
import System.IO;
package DirectoryInfoCS2
{
class Class1
{
static public function CopyDirectory(SourceDirectory : String, TargetDirectory : String )
{
var source : DirectoryInfo = new DirectoryInfo(SourceDirectory);
var target : DirectoryInfo = new DirectoryInfo(TargetDirectory);
//Determine whether the source file exists.
if(!source.Exists)
return;
if(!target.Exists)
target.Create();
//Copy files.
var sourceFiles : FileInfo[] = source.GetFiles();
for(var i : int = 0; i < sourceFiles.Length; ++i)
File.Copy(sourceFiles[i].FullName, target.FullName + "\\" + sourceFiles[i].Name,true);
//Copy directories.
var sourceDirectories : DirectoryInfo[] = source.GetDirectories();
for(var j : int = 0; j < sourceDirectories.Length; ++j)
CopyDirectory(sourceDirectories[j].FullName,target.FullName +"\\" + sourceDirectories[j].Name);
}
static function Main(args : String[])
{
CopyDirectory("D:\\Tools","D:\\NewTools");
}
}
}
DirectoryInfoCS2.Class1.Main();
必要条件
プラットフォーム: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 ファミリ, .NET Compact Framework - Windows CE .NET
参照
DirectoryInfo クラス | DirectoryInfo メンバ | System.IO 名前空間 | 入出力操作 | ファイルからのテキストの読み取り | ファイルへのテキストの書き込み