Directory.Move(String, 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.
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.