次の方法で共有


Directory.Move メソッド

ファイルまたはディレクトリ、およびその内容を新しい場所に移動します。

Public Shared Sub Move( _
   ByVal sourceDirName As String, _   ByVal destDirName As String _)
[C#]
public static void Move(stringsourceDirName,stringdestDirName);
[C++]
public: static void Move(String* sourceDirName,String* destDirName);
[JScript]
public static function Move(
   sourceDirName : String,destDirName : String);

パラメータ

  • sourceDirName
    移動するファイルまたはディレクトリのパス。
  • destDirName
    sourceDirName の新しい位置へのパス。

例外

例外の種類 条件
IOException ディレクトリを別のボリュームに移動しようとしました。

または

destDirName は既に存在します。

または

sourceDirName パラメータおよび destDirName パラメータは、同じファイルまたはディレクトリを参照します。

UnauthorizedAccessException 呼び出し元に、必要なアクセス許可がありません。
ArgumentException sourceDirName または destDirName が、長さが 0 の文字列であるか、空白しか含んでいないか、 InvalidPathChars で定義されている無効な文字を 1 つ以上含んでいます。
ArgumentNullException sourceDirName または destDirName が null 参照 (Visual Basic では Nothing) です。
PathTooLongException 指定したパス、ファイル名、またはその両方がシステム定義の最大長を超えています。たとえば、Windows ベースのプラットフォームの場合、パスの長さは 248 文字未満、ファイル名の長さは 260 文字未満である必要があります。
DirectoryNotFoundException sourceDirName によって指定されたパスが無効です (割り当てられていないドライブが指定されている場合など)。

解説

たとえば、c:\mydir を c:\public に移動しようとしたところ、c:\public が既に存在する場合、このメソッドは IOException をスローします。このような場合は、 destDirName パラメータとして "c:\\public\\mydir"を指定するか、"c:\\newdir" などの新しいディレクトリ名を指定する必要があります。

sourceDirName 引数および destDirName 引数は、相対パス情報または絶対パス情報を指定することを許可されています。相対パス情報は、現在の作業ディレクトリに対して相対的に解釈されます。現在の作業ディレクトリを取得するには、 GetCurrentDirectory のトピックを参照してください。

このメソッドの使用例については、以下の「使用例」を参照してください。その他の一般的な I/O タスクまたは関連する I/O タスクの例を次の表に示します。

実行するタスク 参考例があるトピック
テキスト ファイルを作成する。 ファイルへのテキストの書き込み
テキスト ファイルに書き込む。 ファイルへのテキストの書き込み
テキスト ファイルから読み取る。 ファイルからのテキストの読み取り
ディレクトリをコピーする。 Directory
ディレクトリを削除する。 Directory.Delete

DirectoryInfo.Delete

ディレクトリを作成する。 CreateDirectory

Directory

サブディレクトリを作成する。 CreateSubdirectory
ディレクトリ内のファイルを参照する。 Name
ディレクトリ内のサブディレクトリを参照する。 GetDirectories

GetDirectories

ディレクトリ内のすべてのサブディレクトリにあるすべてのファイルを参照する。 GetFileSystemInfos
ディレクトリのサイズを取得する。 Directory
ファイルが存在するかどうかを判別する。 Exists
ディレクトリが存在するかどうかを判別する。 Exists

使用例

 
Option Explicit On 
Option Strict On

Imports System

Namespace GetFileSystemEntries
    Class Class1
        Overloads Shared Sub Main(ByVal args() As String)
            Dim snippets As New Class1()
            Dim path As String = System.IO.Directory.GetCurrentDirectory()
            Dim filter As String = "*.exe"
            snippets.PrintFileSystemEntries(path)
            snippets.PrintFileSystemEntries(path, filter)
            snippets.GetLogicalDrives()
            snippets.GetParent(path)
            snippets.Move("C:\proof", "C:\Temp")
        End Sub 'Main

        Sub PrintFileSystemEntries(ByVal path As String)
            Try
                ' Obtain the file system entries in the directory path.
                Dim directoryEntries As String()
                directoryEntries = System.IO.Directory.GetFileSystemEntries(path)
                Dim str As String
                For Each str In directoryEntries
                    System.Console.WriteLine(str)
                Next str
            Catch exp As ArgumentNullException
                System.Console.WriteLine("Path is a null reference.")
            Catch exp As System.Security.SecurityException
                System.Console.WriteLine("The caller does not have the " + _
                                        "required permission.")
            Catch exp As ArgumentException
                System.Console.WriteLine("Path is an empty string, " + _
                                        "contains only white spaces, " + _
                                        "or contains invalid characters.")
            Catch exp As System.IO.DirectoryNotFoundException
                System.Console.WriteLine("The path encapsulated in the " + _
                                        "Directory object does not exist.")
            End Try
        End Sub
        Sub PrintFileSystemEntries(ByVal path As String, _
                                   ByVal pattern As String)
            Try
                ' Obtain the file system entries in the directory
                ' path that match the pattern.
                Dim directoryEntries As String()
                directoryEntries = _
                   System.IO.Directory.GetFileSystemEntries(path, pattern)

                Dim str As String
                For Each str In directoryEntries
                    System.Console.WriteLine(str)
                Next str
            Catch exp As ArgumentNullException
                System.Console.WriteLine("Path is a null reference.")
            Catch exp As System.Security.SecurityException
                System.Console.WriteLine("The caller does not have the " + _
                                        "required permission.")
            Catch exp As ArgumentException
                System.Console.WriteLine("Path is an empty string, " + _
                                        "contains only white spaces, " + _
                                        "or contains invalid characters.")
            Catch exp As System.IO.DirectoryNotFoundException
                System.Console.WriteLine("The path encapsulated in the " + _
                                        "Directory object does not exist.")
            End Try
        End Sub

        ' Print out all logical drives on the system.
        Sub GetLogicalDrives()
            Try
                Dim drives As String()
                drives = System.IO.Directory.GetLogicalDrives()

                Dim str As String
                For Each str In drives
                    System.Console.WriteLine(str)
                Next str
            Catch exp As System.IO.IOException
                System.Console.WriteLine("An I/O error occurs.")
            Catch exp As System.Security.SecurityException
                System.Console.WriteLine("The caller does not have the " + _
                                           "required permission.")
            End Try
        End Sub
        Sub GetParent(ByVal path As String)
            Try
                Dim directoryInfo As System.IO.DirectoryInfo
                directoryInfo = System.IO.Directory.GetParent(path)
                System.Console.WriteLine(directoryInfo.FullName)
            Catch exp As ArgumentNullException
                System.Console.WriteLine("Path is a null reference.")
            Catch exp As ArgumentException
                System.Console.WriteLine("Path is an empty string, " + _
                                     "contains only white spaces, or " + _
                                     "contains invalid characters.")
            End Try
        End Sub
        Sub Move(ByVal sourcePath As String, ByVal destinationPath As String)
            Try
                System.IO.Directory.Move(sourcePath, destinationPath)
                System.Console.WriteLine("The directory move is complete.")
            Catch exp As ArgumentNullException
                System.Console.WriteLine("Path is a null reference.")
            Catch exp As System.Security.SecurityException
                System.Console.WriteLine("The caller does not have the " + _
                                           "required permission.")
            Catch exp As ArgumentException
                System.Console.WriteLine("Path is an empty string, " + _
                                        "contains only white spaces, " + _
                                        "or contains invalid characters.")
            Catch exp As System.IO.IOException
                System.Console.WriteLine("An attempt was made to move a " + _
                                        "directory to a different " + _
                                        "volume, or destDirName " + _
                                        "already exists.")
            End Try
        End Sub
    End Class
End Namespace


[C#] 
using System;

namespace GetFileSystemEntries
{
    class Class1 
    {
        static void Main(string[] args) 
        {
            Class1 snippets = new Class1();

            string path = System.IO.Directory.GetCurrentDirectory();
            string filter = "*.exe";

            snippets.PrintFileSystemEntries(path);
            snippets.PrintFileSystemEntries(path, filter);        
            snippets.GetLogicalDrives();
            snippets.GetParent(path);
            snippets.Move("C:\\proof", "C:\\Temp");
        }

        
        void PrintFileSystemEntries(string path) 
        {
            
            try 
            {
                // Obtain the file system entries in the directory path.
                string[] directoryEntries =
                    System.IO.Directory.GetFileSystemEntries(path); 

                foreach (string str in directoryEntries) 
                {
                    System.Console.WriteLine(str);
                }
            }
            catch (ArgumentNullException) 
            {
                System.Console.WriteLine("Path is a null reference.");
            }
            catch (System.Security.SecurityException) 
            {
                System.Console.WriteLine("The caller does not have the " +
                    "required permission.");
            }
            catch (ArgumentException) 
            {
                System.Console.WriteLine("Path is an empty string, " +
                    "contains only white spaces, " + 
                    "or contains invalid characters.");
            }
            catch (System.IO.DirectoryNotFoundException) 
            {
                System.Console.WriteLine("The path encapsulated in the " + 
                    "Directory object does not exist.");
            }
        }
        void PrintFileSystemEntries(string path, string pattern) 
        {
            try 
            {
                // Obtain the file system entries in the directory
                // path that match the pattern.
                string[] directoryEntries =
                    System.IO.Directory.GetFileSystemEntries(path, pattern); 

                foreach (string str in directoryEntries) 
                {
                    System.Console.WriteLine(str);
                }
            }
            catch (ArgumentNullException) 
            {
                System.Console.WriteLine("Path is a null reference.");
            }
            catch (System.Security.SecurityException) 
            {
                System.Console.WriteLine("The caller does not have the " +
                    "required permission.");
            }
            catch (ArgumentException) 
            {
                System.Console.WriteLine("Path is an empty string, " +
                    "contains only white spaces, " + 
                    "or contains invalid characters.");
            }
            catch (System.IO.DirectoryNotFoundException) 
            {
                System.Console.WriteLine("The path encapsulated in the " + 
                    "Directory object does not exist.");
            }
        }

        // Print out all logical drives on the system.
        void GetLogicalDrives() 
        {
            try 
            {
                string[] drives = System.IO.Directory.GetLogicalDrives();

                foreach (string str in drives) 
                {
                    System.Console.WriteLine(str);
                }
            }
            catch (System.IO.IOException) 
            {
                System.Console.WriteLine("An I/O error occurs.");
            }
            catch (System.Security.SecurityException) 
            {
                System.Console.WriteLine("The caller does not have the " +
                    "required permission.");
            }
        }
        void GetParent(string path) 
        {
            try 
            {
                System.IO.DirectoryInfo directoryInfo =
                    System.IO.Directory.GetParent(path);

                System.Console.WriteLine(directoryInfo.FullName);
            }
            catch (ArgumentNullException) 
            {
                System.Console.WriteLine("Path is a null reference.");
            }
            catch (ArgumentException) 
            {
                System.Console.WriteLine("Path is an empty string, " +
                    "contains only white spaces, or " +
                    "contains invalid characters.");
            }
        }
        void Move(string sourcePath, string destinationPath) 
        {
            try 
            {
                System.IO.Directory.Move(sourcePath, destinationPath);
                System.Console.WriteLine("The directory move is complete.");
            }
            catch (ArgumentNullException) 
            {
                System.Console.WriteLine("Path is a null reference.");
            }
            catch (System.Security.SecurityException) 
            {
                System.Console.WriteLine("The caller does not have the " +
                    "required permission.");
            }
            catch (ArgumentException) 
            {
                System.Console.WriteLine("Path is an empty string, " +
                    "contains only white spaces, " + 
                    "or contains invalid characters.");    
            }
            catch (System.IO.IOException) 
            {
                System.Console.WriteLine("An attempt was made to move a " +
                    "directory to a different " +
                    "volume, or destDirName " +
                    "already exists."); 
            }
        }
    }
}

[C++] 
#using <mscorlib.dll>
using namespace System;

class Class1 {
public:
        
    void PrintFileSystemEntries(String * path) {
        
    try {
            // Obtain the file system entries in the directory path.
            String * directoryEntries[] =
                System::IO::Directory::GetFileSystemEntries(path); 
            
            for (int i = 0; i < directoryEntries->Length; i++)
            {
                System::Console::WriteLine(directoryEntries[i]);
            }
        }
        catch (ArgumentNullException *) {
            System::Console::WriteLine("Path is a null reference.");
        }
        catch (System::Security::SecurityException *) {
            System::Console::WriteLine("The caller does not have the \
                        required permission.");
        }
        catch (ArgumentException *) {
            System::Console::WriteLine("Path is an empty String, \
                        contains only white spaces, \
                        or contains invalid characters.");
        }
        catch (System::IO::DirectoryNotFoundException *) {
            System::Console::WriteLine("The path encapsulated in the \
                        Directory object does not exist.");
        }
    }
    void PrintFileSystemEntries(String *path, String *pattern) {
        try {
            // Obtain the file system entries in the directory
            // path that match the pattern.
            String * directoryEntries[] =
                System::IO::Directory::GetFileSystemEntries(path, pattern); 

            for (int i = 0; i < directoryEntries->Length; i++)
            {
                System::Console::WriteLine(directoryEntries[i]);
            }
        }
        catch (ArgumentNullException *) {
            System::Console::WriteLine("Path is a null reference.");
        }
        catch (System::Security::SecurityException *) {
            System::Console::WriteLine("The caller does not have the \
                        required permission.");
        }
        catch (ArgumentException *) {
            System::Console::WriteLine("Path is an empty String, \
                        contains only white spaces, \
                        or contains invalid characters.");
        }
        catch (System::IO::DirectoryNotFoundException *) {
            System::Console::WriteLine("The path encapsulated in the \
                        Directory object does not exist.");
        }
    }

    // Print out all logical drives on the system.
    void GetLogicalDrives() {
            try {
                String * drives[] = System::IO::Directory::GetLogicalDrives();

            for (int i = 0; i < drives->Length; i++)
            {
                System::Console::WriteLine(drives[i]);
            }
        }
        catch (System::IO::IOException *) {
            System::Console::WriteLine("An I/O error occurs.");
        }
        catch (System::Security::SecurityException *) {
            System::Console::WriteLine("The caller does not have the \
                        required permission.");
        }
    }
    void GetParent(String *path) {
        try {
            System::IO::DirectoryInfo * directoryInfo =
                System::IO::Directory::GetParent(path);

            System::Console::WriteLine(directoryInfo->FullName);
        }
        catch (ArgumentNullException *) {
            System::Console::WriteLine("Path is a null reference.");
        }
        catch (ArgumentException *) {
            System::Console::WriteLine("Path is an empty String, \
                        contains only white spaces, or \
                        contains invalid characters.");
        }
    }
    void Move(String *sourcePath, String *destinationPath) {
        try {
            System::IO::Directory::Move(sourcePath, destinationPath);
                System::Console::WriteLine("The directory move is complete.");
        }
        catch (ArgumentNullException *) {
            System::Console::WriteLine("Path is a null reference.");
        }
        catch (System::Security::SecurityException *) {
            System::Console::WriteLine("The caller does not have the \
                        required permission.");
        }
        catch (ArgumentException *) {
            System::Console::WriteLine("Path is an empty String, \
                        contains only white spaces, \
                        or contains invalid characters.");    
        }
    catch (System::IO::IOException *) {
        System::Console::WriteLine("An attempt was made to move a \
                        directory to a different \
                        volume, or destDirName \
                        already exists."); 
        }
    }
};

int main() 
{
    Class1 * snippets = new Class1();

    String *path = System::IO::Directory::GetCurrentDirectory();
    String *filter = "*.exe";

    snippets->PrintFileSystemEntries(path);
    snippets->PrintFileSystemEntries(path, filter);        
    snippets->GetLogicalDrives();
    snippets->GetParent(path);
    snippets->Move("C:\\proof", "C:\\Temp");
    return 0;
}

[JScript] JScript のサンプルはありません。Visual Basic、C#、および C++ のサンプルを表示するには、このページの左上隅にある言語のフィルタ ボタン 言語のフィルタ をクリックします。

必要条件

プラットフォーム: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 ファミリ, .NET Compact Framework - Windows CE .NET, Common Language Infrastructure (CLI) Standard

.NET Framework セキュリティ:

参照

Directory クラス | Directory メンバ | System.IO 名前空間 | 入出力操作 | ファイルからのテキストの読み取り | ファイルへのテキストの書き込み