Bagikan melalui


Directory.Move(String, String) Metode

Definisi

Memindahkan file atau direktori dan isinya ke lokasi baru.

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)

Parameter

sourceDirName
String

Jalur file atau direktori yang akan dipindahkan.

destDirName
String

Jalur ke lokasi baru untuk sourceDirName atau isinya. Jika sourceDirName adalah file, maka destDirName juga harus berupa nama file.

Pengecualian

Upaya dilakukan untuk memindahkan direktori ke volume yang berbeda.

-atau-

destDirName sudah ada. Lihat catatan di bagian Keterangan.

-atau-

Parameter sourceDirName dan destDirName merujuk ke file atau direktori yang sama.

-atau-

Direktori atau file di dalamnya sedang digunakan oleh proses lain.

Pemanggil tidak memiliki izin yang diperlukan.

.NET Framework dan .NET Core yang lebih lama dari 2.1: sourceDirName atau destDirName merupakan string dengan panjang nol, hanya berisi spasi kosong, atau berisi satu atau beberapa karakter yang tidak valid. Anda dapat mengkueri karakter yang GetInvalidPathChars() tidak valid dengan metode .

sourceDirName atau destDirName adalah null.

Jalur yang ditentukan, nama file, atau keduanya melebihi panjang maksimum yang ditentukan sistem.

Jalur yang ditentukan oleh sourceDirName tidak valid (misalnya, berada pada drive yang tidak dipetakan).

Contoh

Contoh berikut menunjukkan cara memindahkan direktori dan semua filenya ke direktori baru. Direktori asli tidak ada lagi setelah dipindahkan.

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

Keterangan

Metode ini membuat direktori baru dengan nama yang ditentukan oleh destDirName dan memindahkan konten sourceDirName, termasuk file dan direktori, ke direktori tujuan yang baru dibuat. Kemudian menghapus sourceDirName direktori.

Jika Anda mencoba memindahkan direktori ke direktori yang sudah ada, IOException akan terjadi.

Argumen sourceDirName dan destDirName 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 parameter jalur sebelum memindahkan direktori.

Untuk daftar tugas I/O umum, lihat Tugas I/O Umum.

Catatan

Dimulai dengan .NET Core 3.0, Move metode ini melemparkan IOException di semua platform ketika destDirName sudah ada. Dalam .NET Core 2.2 dan versi sebelumnya, pengecualian hanya dilemparkan pada Windows, dan platform lain dapat gagal atau menimpa destDirName. Lihat C++ ganti nama.

Berlaku untuk

Lihat juga