次の方法で共有


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

DirectoryInfo.MoveTo

ディレクトリを削除する。 Directory.Delete

DirectoryInfo.Delete

ディレクトリを作成する。 CreateDirectory

Directory

サブディレクトリを作成する。 CreateSubdirectory
ディレクトリ内のファイルを参照する。 Name
ディレクトリ内のサブディレクトリを参照する。 GetDirectories

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 名前空間 | 入出力操作 | ファイルからのテキストの読み取り | ファイルへのテキストの書き込み