DirectoryInfo.Exists 屬性
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
取得值,指出目錄是否存在。
public:
virtual property bool Exists { bool get(); };
public override bool Exists { get; }
member this.Exists : bool
Public Overrides ReadOnly Property Exists As Boolean
屬性值
如果目錄存在,則為 true
,否則為 false
。
範例
下列範例示範 Exists
在將來源目錄複製到目標目錄的內容中使用 屬性。
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
備註
當嘗試判斷指定的檔案是否存在時,屬性 Exists 會 false
傳回任何錯誤。 如果引發例外狀況,例如傳遞無效字元或太多字元的檔名、失敗或遺失的磁碟,或呼叫端沒有讀取檔案的許可權,則可能發生此情況。