File.Move File.Move File.Move File.Move Method

Определение

Перегрузки

Move(String, String) Move(String, String) Move(String, String) Move(String, String)

Перемещает заданный файл в новое местоположение и разрешает переименование файла.Moves a specified file to a new location, providing the option to specify a new file name.

Move(String, String, Boolean) Move(String, String, Boolean) Move(String, String, Boolean) Move(String, String, Boolean)

Перемещает указанный файл в новое расположение, предоставляя параметры для указания нового имени файла и перезаписи конечного файла, если он уже существует.Moves a specified file to a new location, providing the options to specify a new file name and to overwrite the destination file if it already exists.

Move(String, String) Move(String, String) Move(String, String) Move(String, String)

Перемещает заданный файл в новое местоположение и разрешает переименование файла.Moves a specified file to a new location, providing the option to specify a new file name.

public:
 static void Move(System::String ^ sourceFileName, System::String ^ destFileName);
public static void Move (string sourceFileName, string destFileName);
static member Move : string * string -> unit
Public Shared Sub Move (sourceFileName As String, destFileName As String)

Параметры

sourceFileName
String String String String

Имя перемещаемого файла.The name of the file to move. Может содержать относительный или абсолютный путь.Can include a relative or absolute path.

destFileName
String String String String

Новый путь к файлу и его имя.The new path and name for the file.

Исключения

Конечный файл уже существует.The destination file already exists.

- или --or- Не удалось найти sourceFileName.sourceFileName was not found.

Значение параметра sourceFileName или destFileNamenull.sourceFileName or destFileName is null.

sourceFileName или destFileName представляет собой строку нулевой длины, содержащую только пробелы или содержащую недопустимые символы, заданные методом InvalidPathChars.sourceFileName or destFileName is a zero-length string, contains only white space, or contains invalid characters as defined in InvalidPathChars.

У вызывающего объекта отсутствует необходимое разрешение.The caller does not have the required permission.

Указанный путь, имя файла или оба значения превышают максимальную длину, заданную в системе.The specified path, file name, or both exceed the system-defined maximum length.

В sourceFileName или destFileName указан недопустимый путь (например, он ведет на несопоставленный диск).The path specified in sourceFileName or destFileName is invalid, (for example, it is on an unmapped drive).

Параметр sourceFileName или destFileName имеет недопустимый формат.sourceFileName or destFileName is in an invalid format.

Примеры

В следующем примере перемещается файл.The following example moves a file.

using namespace System;
using namespace System::IO;

int main()
{
   String^ path = "c:\\temp\\MyTest.txt";
   String^ path2 = "c:\\temp2\\MyTest.txt";
   try
   {
      if (  !File::Exists( path ) )
      {
         
         // This statement ensures that the file is created,
         // but the handle is not kept.
         FileStream^ fs = File::Create( path );
         if ( fs )
                  delete (IDisposable^)fs;
      }
      
      // Ensure that the target does not exist.
      if ( File::Exists( path2 ) )
            File::Delete( path2 );
      
      // Move the file.
      File::Move( path, path2 );
      Console::WriteLine( "{0} was moved to {1}.", path, path2 );
      
      // See if the original exists now.
      if ( File::Exists( path ) )
      {
         Console::WriteLine( "The original file still exists, which is unexpected." );
      }
      else
      {
         Console::WriteLine( "The original file no longer exists, which is expected." );
      }
   }
   catch ( Exception^ e ) 
   {
      Console::WriteLine( "The process failed: {0}", e );
   }
}
using System;
using System.IO;

class Test 
{
    public static void Main() 
    {
        string path = @"c:\temp\MyTest.txt";
        string path2 = @"c:\temp2\MyTest.txt";
        try 
        {
            if (!File.Exists(path)) 
            {
                // This statement ensures that the file is created,
                // but the handle is not kept.
                using (FileStream fs = File.Create(path)) {}
            }

            // Ensure that the target does not exist.
            if (File.Exists(path2))	
            File.Delete(path2);

            // Move the file.
            File.Move(path, path2);
            Console.WriteLine("{0} was moved to {1}.", path, path2);

            // See if the original exists now.
            if (File.Exists(path)) 
            {
                Console.WriteLine("The original file still exists, which is unexpected.");
            } 
            else 
            {
                Console.WriteLine("The original file no longer exists, which is expected.");
            }			

        } 
        catch (Exception e) 
        {
            Console.WriteLine("The process failed: {0}", e.ToString());
        }
    }
}
Imports System.IO
Imports System.Text

Public Class Test
    Public Shared Sub Main()
        Dim path As String = "c:\temp\MyTest.txt"
        Dim path2 As String = "c:\temp2\MyTest.txt"

        Try
            If File.Exists(path) = False Then
                ' This statement ensures that the file is created,
                ' but the handle is not kept.
                Dim fs As FileStream = File.Create(path)
                fs.Close()
            End If

            ' Ensure that the target does not exist.
            If File.Exists(path2) Then
                File.Delete(path2)
            End If

            ' Move the file.
            File.Move(path, path2)
            Console.WriteLine("{0} moved to {1}", path, path2)

            ' See if the original file exists now.
            If File.Exists(path) Then
                Console.WriteLine("The original file still exists, which is unexpected.")
            Else
                Console.WriteLine("The original file no longer exists, which is expected.")
            End If
        Catch e As Exception
            Console.WriteLine("The process failed: {0}", e.ToString())
        End Try
    End Sub
End Class

Комментарии

Этот метод работает на дисковых томах и не создает исключение, если источник и назначение совпадают.This method works across disk volumes, and it does not throw an exception if the source and destination are the same.

Обратите внимание, что при попытке заменить файл путем перемещения файла с тем же именем в этот каталог IOException создается исключение.Note that if you attempt to replace a file by moving a file of the same name into that directory, an IOException is thrown. Для этой цели вызовите Move(String, String, Boolean) вместо этого.For that purpose, call Move(String, String, Boolean) instead.

Аргументы sourceFileName иdestFileName могут содержать сведения об относительных или абсолютных пути.The sourceFileName and destFileName arguments can include relative or absolute path information. Сведения об относительном пути интерпретируется как относительно текущего рабочего каталога.Relative path information is interpreted as relative to the current working directory. Сведения о получении текущего рабочего каталога см. GetCurrentDirectoryв разделе.To obtain the current working directory, see GetCurrentDirectory.

При попытке переместить файл на дисковые тома с использованием этого файла файл копируется в место назначения, но не удаляется из источника.If you try to move a file across disk volumes and that file is in use, the file is copied to the destination, but it is not deleted from the source.

Список общих задач ввода-вывода см. в разделе Общие задачи ввода-вывода.For a list of common I/O tasks, see Common I/O Tasks.

Безопасность

FileIOPermission
для чтения sourceFileName и записи в destFileName.for reading from sourceFileName and writing to destFileName. Связанные перечисления: Read,WriteAssociated enumerations: Read, Write

Дополнительно

Move(String, String, Boolean) Move(String, String, Boolean) Move(String, String, Boolean) Move(String, String, Boolean)

Перемещает указанный файл в новое расположение, предоставляя параметры для указания нового имени файла и перезаписи конечного файла, если он уже существует.Moves a specified file to a new location, providing the options to specify a new file name and to overwrite the destination file if it already exists.

public:
 static void Move(System::String ^ sourceFileName, System::String ^ destFileName, bool overwrite);
public static void Move (string sourceFileName, string destFileName, bool overwrite);
static member Move : string * string * bool -> unit
Public Shared Sub Move (sourceFileName As String, destFileName As String, overwrite As Boolean)

Параметры

sourceFileName
String String String String

Имя перемещаемого файла.The name of the file to move. Может содержать относительный или абсолютный путь.Can include a relative or absolute path.

destFileName
String String String String

Новый путь к файлу и его имя.The new path and name for the file.

overwrite
Boolean Boolean Boolean Boolean

true для перезаписи конечного файла, если он уже существует; в противном случае — false.true to overwrite the destination file if it already exists; false otherwise.

Исключения

Не удалось найти sourceFileName.sourceFileName was not found.

Параметр sourceFileName или destFileName имеет значение null.sourceFileName or destFileName is null.

sourceFileName или destFileName представляет собой строку нулевой длины, содержащую только пробелы или содержащую недопустимые символы, заданные методом InvalidPathChars.sourceFileName or destFileName is a zero-length string, contains only white space, or contains invalid characters as defined in InvalidPathChars.

У вызывающего объекта отсутствует необходимое разрешение.The caller does not have the required permission.

Указанный путь, имя файла или оба значения превышают максимальную длину, заданную в системе.The specified path, file name, or both exceed the system-defined maximum length.

В sourceFileName или destFileName указан недопустимый путь (например, он ведет на несопоставленный диск).The path specified in sourceFileName or destFileName is invalid, (for example, it is on an unmapped drive).

Параметр sourceFileName или destFileName имеет недопустимый формат.sourceFileName or destFileName is in an invalid format.

Примеры

В следующем примере перемещается файл.The following example moves a file.

using namespace System;
using namespace System::IO;

int main()
{
   String^ path = "c:\\temp\\MyTest.txt";
   String^ path2 = "c:\\temp2\\MyTest.txt";
   try
   {
      if (  !File::Exists( path ) )
      {
         
         // This statement ensures that the file is created,
         // but the handle is not kept.
         FileStream^ fs = File::Create( path );
         if ( fs )
                  delete (IDisposable^)fs;
      }
      
      // Ensure that the target does not exist.
      if ( File::Exists( path2 ) )
            File::Delete( path2 );
      
      // Move the file.
      File::Move( path, path2 );
      Console::WriteLine( "{0} was moved to {1}.", path, path2 );
      
      // See if the original exists now.
      if ( File::Exists( path ) )
      {
         Console::WriteLine( "The original file still exists, which is unexpected." );
      }
      else
      {
         Console::WriteLine( "The original file no longer exists, which is expected." );
      }
   }
   catch ( Exception^ e ) 
   {
      Console::WriteLine( "The process failed: {0}", e );
   }
}
using System;
using System.IO;

class Test 
{
    public static void Main() 
    {
        string path = @"c:\temp\MyTest.txt";
        string path2 = @"c:\temp2\MyTest.txt";
        try 
        {
            if (!File.Exists(path)) 
            {
                // This statement ensures that the file is created,
                // but the handle is not kept.
                using (FileStream fs = File.Create(path)) {}
            }

            // Ensure that the target does not exist.
            if (File.Exists(path2))	
            File.Delete(path2);

            // Move the file.
            File.Move(path, path2);
            Console.WriteLine("{0} was moved to {1}.", path, path2);

            // See if the original exists now.
            if (File.Exists(path)) 
            {
                Console.WriteLine("The original file still exists, which is unexpected.");
            } 
            else 
            {
                Console.WriteLine("The original file no longer exists, which is expected.");
            }			

        } 
        catch (Exception e) 
        {
            Console.WriteLine("The process failed: {0}", e.ToString());
        }
    }
}
Imports System.IO
Imports System.Text

Public Class Test
    Public Shared Sub Main()
        Dim path As String = "c:\temp\MyTest.txt"
        Dim path2 As String = "c:\temp2\MyTest.txt"

        Try
            If File.Exists(path) = False Then
                ' This statement ensures that the file is created,
                ' but the handle is not kept.
                Dim fs As FileStream = File.Create(path)
                fs.Close()
            End If

            ' Ensure that the target does not exist.
            If File.Exists(path2) Then
                File.Delete(path2)
            End If

            ' Move the file.
            File.Move(path, path2)
            Console.WriteLine("{0} moved to {1}", path, path2)

            ' See if the original file exists now.
            If File.Exists(path) Then
                Console.WriteLine("The original file still exists, which is unexpected.")
            Else
                Console.WriteLine("The original file no longer exists, which is expected.")
            End If
        Catch e As Exception
            Console.WriteLine("The process failed: {0}", e.ToString())
        End Try
    End Sub
End Class

Комментарии

Этот метод работает на дисковых томах и не создает исключение, если источник и назначение совпадают.This method works across disk volumes, and it does not throw an exception if the source and destination are the same.

Аргументы sourceFileName иdestFileName могут содержать сведения об относительных или абсолютных пути.The sourceFileName and destFileName arguments can include relative or absolute path information. Сведения об относительном пути интерпретируется как относительно текущего рабочего каталога.Relative path information is interpreted as relative to the current working directory. Сведения о получении текущего рабочего каталога см. GetCurrentDirectoryв разделе.To obtain the current working directory, see GetCurrentDirectory.

При попытке переместить файл на дисковые тома с использованием этого файла файл копируется в место назначения, но не удаляется из источника.If you try to move a file across disk volumes and that file is in use, the file is copied to the destination, but it is not deleted from the source.

Список общих задач ввода-вывода см. в разделе Общие задачи ввода-вывода.For a list of common I/O tasks, see Common I/O Tasks.

Безопасность

FileIOPermission
для чтения sourceFileName и записи в destFileName.for reading from sourceFileName and writing to destFileName. Связанные перечисления: Read,WriteAssociated enumerations: Read, Write

Дополнительно

Применяется к