Directory.Move(String, String) メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
ファイルまたはディレクトリ、およびその内容を新しい場所に移動します。
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)
パラメーター
- sourceDirName
- String
移動するファイルまたはディレクトリのパス。
- destDirName
- String
またはそのコンテンツの新しい場所 sourceDirName
へのパス。 sourceDirName
がファイルの場合は、destDirName
もファイル名にする必要があります。
例外
ディレクトリを別のボリュームに移動しようとしました。
- または -
destDirName
が既に存在します。 「解説」セクションのメモを参照してください。
- または -
sourceDirName
パラメーターと destDirName
パラメーターが、同じファイルまたはディレクトリを参照しています。
- または -
ディレクトリ、またはそのディレクトリ内のファイルが別のプロセスによって使用されています。
呼び出し元に、必要なアクセス許可がありません。
2.1 より前のバージョンの.NET Frameworkと .NET Core: sourceDirName
またはdestDirName
長さ 0 の文字列、空白のみを含む、または 1 つ以上の無効な文字が含まれています。 GetInvalidPathChars() メソッドを使用して、正しくない文字に対するクエリを実行できます。
sourceDirName
または destDirName
が null
です。
指定したパス、ファイル名、またはその両方がシステム定義の最大長を超えています。
sourceDirName
で指定されたパスが、マップされていないドライブ上にあるなど、正しくありません。
例
次の例では、ディレクトリとそのすべてのファイルを新しいディレクトリに移動する方法を示します。 元のディレクトリは、移動後に存在しなくなりました。
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
注釈
このメソッドは、 で destDirName
指定された名前の新しいディレクトリを作成し、 の sourceDirName
内容 (ファイルやディレクトリを含む) を新しく作成された宛先ディレクトリに移動します。 次に、ディレクトリを sourceDirName
削除します。
既に存在するディレクトリにディレクトリを移動しようとすると、 IOException が発生します。
sourceDirName
引数と destDirName
引数は、相対パスまたは絶対パス情報を指定できます。 相対パス情報は、現在の作業ディレクトリに対する相対パスとして解釈されます。 現在の作業ディレクトリを取得するには、「」を参照してください GetCurrentDirectory。
末尾のスペースは、ディレクトリを移動する前に、パス パラメーターの末尾から削除されます。
共通 I/O タスクの一覧は、 共通 I/O タスク を参照してください。
注意
.NET Core 3.0 以降では、 Move
が既に存在する場合、メソッドはすべてのプラットフォームで をdestDirName
スローIOExceptionします。 .NET Core 2.2 以前のバージョンでは、Windows でのみ例外がスローされ、他のプラットフォームでは が失敗するか上書きされる destDirName
可能性があります。 「C++ の名前変更」を参照してください。
適用対象
こちらもご覧ください
.NET