Directory.SetCurrentDirectory(String) Metode
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Mengatur direktori kerja aplikasi saat ini ke direktori yang ditentukan.
public:
static void SetCurrentDirectory(System::String ^ path);
public static void SetCurrentDirectory (string path);
static member SetCurrentDirectory : string -> unit
Public Shared Sub SetCurrentDirectory (path As String)
Parameter
- path
- String
Jalur tempat direktori kerja saat ini diatur.
Pengecualian
Terjadi kesalahan I/O.
versi .NET Framework dan .NET Core yang lebih lama dari 2.1: path
adalah string panjang nol, hanya berisi spasi kosong, atau berisi satu atau beberapa karakter yang tidak valid. Anda dapat mengkueri karakter yang tidak valid dengan GetInvalidPathChars() metode .
path
adalah null
.
Jalur yang ditentukan, nama file, atau keduanya melebihi panjang maksimum yang ditentukan sistem.
Pemanggil tidak memiliki izin yang diperlukan untuk mengakses kode yang tidak dikelola.
Jalur yang ditentukan tidak ditemukan.
Direktori yang ditentukan tidak ditemukan.
Contoh
Contoh berikut mengilustrasikan cara mengatur direktori saat ini dan menampilkan akar direktori.
// This sample shows how to set the current directory and how to determine
// the root directory.
using namespace System;
using namespace System::IO;
int main()
{
// Create string for a directory. This value should be an existing directory
// or the sample will throw a DirectoryNotFoundException.
String^ dir = "C:\\test";
try
{
//Set the current directory.
Directory::SetCurrentDirectory( dir );
}
catch ( DirectoryNotFoundException^ e )
{
Console::WriteLine( "The specified directory does not exist. {0}", e );
}
// Print to console the results.
Console::WriteLine( "Root directory: {0}", Directory::GetDirectoryRoot( dir ) );
Console::WriteLine( "Current directory: {0}", Directory::GetCurrentDirectory() );
}
// The output of this sample depends on what value you assign to the variable dir.
// If the directory c:\test exists, the output for this sample is:
// Root directory: C:\
// Current directory: C:\test
// This sample shows how to set the current directory and how to determine
// the root directory.
using System;
using System.IO;
namespace IOSamples
{
public class DirectoryRoot
{
public static void Main()
{
// Create string for a directory. This value should be an existing directory
// or the sample will throw a DirectoryNotFoundException.
string dir = @"C:\test";
try
{
//Set the current directory.
Directory.SetCurrentDirectory(dir);
}
catch (DirectoryNotFoundException e)
{
Console.WriteLine("The specified directory does not exist. {0}", e);
}
// Print to console the results.
Console.WriteLine("Root directory: {0}", Directory.GetDirectoryRoot(dir));
Console.WriteLine("Current directory: {0}", Directory.GetCurrentDirectory());
}
}
}
// The output of this sample depends on what value you assign to the variable dir.
// If the directory c:\test exists, the output for this sample is:
// Root directory: C:\
// Current directory: C:\test
// This sample shows how to set the current directory and how to determine
// the root directory.
open System.IO
// Create string for a directory. This value should be an existing directory
// or the sample will throw a DirectoryNotFoundException.
let dir = @"C:\test"
try
//Set the current directory.
Directory.SetCurrentDirectory dir
with :? DirectoryNotFoundException as e ->
printfn $"The specified directory does not exist. {e}"
// Print to console the results.
printfn $"Root directory: {Directory.GetDirectoryRoot dir}"
printfn $"Current directory: {Directory.GetCurrentDirectory()}"
// The output of this sample depends on what value you assign to the variable dir.
// If the directory c:\test exists, the output for this sample is:
// Root directory: C:\
// Current directory: C:\test
' This sample shows how to set the current directory and how to determine
' the root directory.
Imports System.IO
Public Class DirectoryRoot
Public Shared Sub Main()
' Create string for a directory. This value should be an existing directory
' or the sample will throw a DirectoryNotFoundException.
Dim dir As String = "C:\test"
Try
'Set the current directory.
Directory.SetCurrentDirectory(dir)
Catch e As DirectoryNotFoundException
Console.WriteLine("The specified directory does not exist. {0}", e)
End Try
' Print to console the results.
Console.WriteLine("Root directory: {0}", Directory.GetDirectoryRoot(dir))
Console.WriteLine("Current directory: {0}", Directory.GetCurrentDirectory())
End Sub
End Class
' The output of this sample depends on what value you assign to the variable dir.
' If the directory c:\test exists, the output for this sample is:
' Root directory: C:\
' Current directory: C:\test
Keterangan
Ketika aplikasi berakhir, direktori kerja dipulihkan ke lokasi aslinya (direktori tempat proses dimulai).
Parameter path
diizinkan untuk menentukan informasi jalur relatif atau absolut. Informasi jalur relatif ditafsirkan relatif terhadap direktori kerja saat ini. Untuk mendapatkan direktori kerja saat ini, lihat GetCurrentDirectory.
Spasi berikutnya dihapus dari akhir path
parameter sebelum mengatur direktori.
Sensitivitas path
huruf besar/kecil parameter sesuai dengan sistem file tempat kode berjalan. Misalnya, tidak peka huruf besar/kecil pada NTFS (sistem file Windows default) dan peka huruf besar/kecil pada sistem file Linux.
Jika Anda mengatur direktori ke drive dengan media yang dapat dilepas (misalnya, "E:" untuk flash drive USB), Anda dapat menentukan apakah drive siap dengan menggunakan IsReady properti .