DirectoryInfo.Exists Propriedade

Definição

Obtém um valor que indica se o diretório existe.Gets a value indicating whether the directory exists.

public:
 virtual property bool Exists { bool get(); };
public override bool Exists { get; }
member this.Exists : bool
Public Overrides ReadOnly Property Exists As Boolean

Valor da propriedade

Boolean

true se o diretório existir; caso contrário, false.true if the directory exists; otherwise, false.

Exemplos

O exemplo a seguir demonstra um uso da Exists propriedade no contexto de copiar um diretório de origem para um diretório de destino.The following example demonstrates a use of the Exists property in the context of copying a source directory to a target directory.

using namespace System;
using namespace System::IO;

// Copy a source directory to a target directory.
void CopyDirectory( String^ SourceDirectory, String^ TargetDirectory )
{
   DirectoryInfo^ source = gcnew DirectoryInfo( SourceDirectory );
   DirectoryInfo^ target = gcnew DirectoryInfo( TargetDirectory );
   
   //Determine whether the source directory exists.
   if (  !source->Exists )
      return;

   if (  !target->Exists )
      target->Create();

   
   //Copy files.
   array<FileInfo^>^sourceFiles = source->GetFiles();
   for ( int i = 0; i < sourceFiles->Length; ++i )
      File::Copy( sourceFiles[ i ]->FullName, String::Concat( target->FullName, "\\", sourceFiles[ i ]->Name ), true );
   
   //Copy directories.
   array<DirectoryInfo^>^sourceDirectories = source->GetDirectories();
   for ( int j = 0; j < sourceDirectories->Length; ++j )
      CopyDirectory( sourceDirectories[ j ]->FullName, String::Concat( target->FullName, "\\", sourceDirectories[ j ]->Name ) );
}

int main()
{
   CopyDirectory( "D:\\Tools", "D:\\NewTools" );
}

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");
        }
    }
}
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

Comentários

A Exists propriedade retornará false se ocorrer algum erro durante a tentativa de determinar se o arquivo especificado existe.The Exists property returns false if any error occurs while trying to determine if the specified file exists. Isso pode ocorrer em situações que geram exceções, como passar um nome de arquivo com caracteres inválidos ou muitos caracteres, um disco com falha ou ausente, ou se o chamador não tiver permissão para ler o arquivo.This can occur in situations that raise exceptions such as passing a file name with invalid characters or too many characters, a failing or missing disk, or if the caller does not have permission to read the file.

Aplica-se a