DirectoryInfo.Exists Vlastnost
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Získá hodnotu označující, zda adresář existuje.
public:
virtual property bool Exists { bool get(); };
public override bool Exists { get; }
member this.Exists : bool
Public Overrides ReadOnly Property Exists As Boolean
Hodnota vlastnosti
true
pokud adresář existuje; v opačném případě . false
Příklady
Následující příklad ukazuje použití Exists
vlastnosti v kontextu kopírování zdrojového adresáře do cílového adresáře.
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");
}
}
}
open System.IO
// Copy a source directory to a target directory.
let rec copyDirectory sourceDirectory targetDirectory =
let source = DirectoryInfo sourceDirectory
let target = DirectoryInfo targetDirectory
//Determine whether the source directory exists.
if source.Exists then
if target.Exists then
target.Create()
//Copy files.
let sourceFiles = source.GetFiles()
for file in sourceFiles do
File.Copy(file.FullName, target.FullName + "\\" + file.Name,true)
//Copy directories.
let sourceDirectories = source.GetDirectories()
for dir in sourceDirectories do
copyDirectory dir.FullName (target.FullName + "\\" + dir.Name)
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
Poznámky
Vlastnost Exists vrátí false
, pokud dojde k nějaké chybě při pokusu o určení, zda zadaný soubor existuje. K tomu může dojít v situacích, kdy dochází k výjimkám, jako je předání názvu souboru s neplatnými znaky nebo příliš mnoha znaky, selhání nebo chybějící disk nebo pokud volající nemá oprávnění ke čtení souboru.