Aracılığıyla paylaş


Directory.Move(String, String) Yöntem

Tanım

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 sourceDirNameyeni 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.

Şunlara uygulanır

Ayrıca bkz.