Directory.Move(String, String) Yöntem
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
Bir dosyayı veya dizini ve içeriğini yeni bir konuma taşır.
public:
static void Move(System::String ^ sourceDirName, System::String ^ destDirName);
public static void Move (string sourceDirName, string destDirName);
static member Move : string * string -> unit
Public Shared Sub Move (sourceDirName As String, destDirName As String)
Parametreler
- sourceDirName
- String
Taşınacak dosyanın veya dizinin yolu.
- destDirName
- String
veya içeriğinin yeni konumunun sourceDirName
yolu. Bir dosyaysa sourceDirName
, aynı zamanda destDirName
bir dosya adı da olmalıdır.
Özel durumlar
Bir dizini farklı bir birime taşıma girişiminde bulunuldu.
-veya-
destDirName
zaten var. Açıklamalar bölümündeki nota bakın.
-veya-
sourceDirName
ve destDirName
parametreleri aynı dosyaya veya dizine başvurur.
-veya-
Dizin veya içindeki bir dosya başka bir işlem tarafından kullanılıyor.
Çağıranın gerekli izni yok.
2.1'den eski .NET Framework ve .NET Core sürümleri: sourceDirName
veya destDirName
sıfır uzunlukta bir dizedir, yalnızca boşluk içerir veya bir veya daha fazla geçersiz karakter içerir. yöntemiyle GetInvalidPathChars() geçersiz karakterleri sorgulayabilirsiniz.
sourceDirName
veya destDirName
şeklindedir null
.
Belirtilen yol, dosya adı veya her ikisi birden sistem tarafından tanımlanan en fazla uzunluğu aşıyor.
tarafından sourceDirName
belirtilen yol geçersiz (örneğin, eşlenmemiş bir sürücüde).
Örnekler
Aşağıdaki örnekte, bir dizinin ve tüm dosyalarının yeni bir dizine nasıl taşınacakları gösterilmektedir. Özgün dizin taşındıktan sonra artık yok.
using System;
using System.IO;
namespace ConsoleApplication
{
class Program
{
static void Main(string[] args)
{
string sourceDirectory = @"C:\source";
string destinationDirectory = @"C:\destination";
try
{
Directory.Move(sourceDirectory, destinationDirectory);
}
catch (Exception e)
{
Console.WriteLine(e.Message);
}
}
}
}
open System.IO
let sourceDirectory = @"C:\source"
let destinationDirectory = @"C:\destination"
try
Directory.Move(sourceDirectory, destinationDirectory)
with e ->
printfn $"{e.Message}"
Imports System.IO
Module Module1
Sub Main()
Dim sourceDirectory As String = "C:\source"
Dim destinationDirectory As String = "C:\destination"
Try
Directory.Move(sourceDirectory, destinationDirectory)
Catch e As Exception
Console.WriteLine(e.Message)
End Try
End Sub
End Module
Açıklamalar
Bu yöntem, tarafından destDirName
belirtilen ada sahip yeni bir dizin oluşturur ve dosya ve dizinler de dahil olmak üzere içeriğini sourceDirName
yeni oluşturulan hedef dizine taşır. Ardından dizini siler sourceDirName
.
Bir dizini zaten var olan bir dizine taşımaya çalışırsanız, bir IOException gerçekleşir.
sourceDirName
ve destDirName
bağımsız değişkenlerinin göreli veya mutlak yol bilgilerini belirtmesine izin verilir. Göreli yol bilgisi, geçerli çalışma dizinine göre yorumlanır. Geçerli çalışma dizinini edinmek için bkz GetCurrentDirectory. .
Dizin taşınmadan önce yol parametrelerinin sonundan sondaki boşluklar kaldırılır.
Yaygın G/Ç görevlerinin listesi için bkz. Ortak G/Ç Görevleri.
Not
.NET Core 3.0'dan başlayarak, Move
yöntemi zaten mevcut olduğunda destDirName
tüm platformlarda bir IOException oluşturur. .NET Core 2.2 ve önceki sürümlerde, özel durum yalnızca Windows'da oluşturuldu ve diğer platformlar başarısız olabilir veya üzerine yazabilir destDirName
. Bkz. C++ yeniden adlandırma.