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

Definition

Überlädt

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

Verschiebt eine angegebene Datei an einen neuen Speicherort und ermöglicht das Angeben eines neuen Dateinamens.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)

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

Verschiebt eine angegebene Datei an einen neuen Speicherort und ermöglicht das Angeben eines neuen Dateinamens.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)

Parameter

sourceFileName
String String String String

Der Name der zu verschiebenden Datei.The name of the file to move. Kann einen absoluten oder relativen Pfad enthalten.Can include a relative or absolute path.

destFileName
String String String String

Der neue Pfad und Name für die Datei.The new path and name for the file.

Ausnahmen

Die Zieldatei ist bereits vorhanden.The destination file already exists.

- oder --or- sourceFileName wurde nicht gefunden.sourceFileName was not found.

sourceFileName oder destFileName ist null.sourceFileName or destFileName is null.

sourceFileName oder destFileName ist eine leere Zeichenfolge, enthält nur Leerzeichen oder enthält ungültige Zeichen gemäß der Definition von InvalidPathChars.sourceFileName or destFileName is a zero-length string, contains only white space, or contains invalid characters as defined in InvalidPathChars.

Der Aufrufer verfügt nicht über die erforderliche Berechtigung.The caller does not have the required permission.

Der angegebene Pfad und/oder Dateiname überschreiten die vom System definierte maximale Länge.The specified path, file name, or both exceed the system-defined maximum length.

Der in sourceFileName oder destFileName angegebene Pfad ist ungültig (er befindet sich z. B.auf einem nicht zugeordneten Laufwerk).The path specified in sourceFileName or destFileName is invalid, (for example, it is on an unmapped drive).

sourceFileName oder destFileName weist ein ungültiges Format auf.sourceFileName or destFileName is in an invalid format.

Beispiele

Im folgenden Beispiel wird eine Datei.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
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

Hinweise

Diese Methode funktioniert über Volumes hinweg, und es wird keine Ausnahme ausgelöst, wenn sich Quelle und Ziel gleich sind.This method works across disk volumes, and it does not throw an exception if the source and destination are the same. Beachten Sie, dass wenn Sie versuchen, eine Datei zu ersetzen, indem Sie eine Datei mit dem gleichen Namen in das Verzeichnis verschieben, Sie erhalten eine IOException.Note that if you attempt to replace a file by moving a file of the same name into that directory, you get an IOException. Sie können nicht die Move-Methode verwenden, um eine vorhandene Datei überschrieben.You cannot use the Move method to overwrite an existing file.

Die sourceFileName und destFileName Argumente können Informationen über relative oder absolute Pfade enthalten.The sourceFileName and destFileName arguments can include relative or absolute path information. Relativer Pfad wird relativ zum aktuellen Arbeitsverzeichnis interpretiert.Relative path information is interpreted as relative to the current working directory. Um das aktuelle Arbeitsverzeichnis zu erhalten, finden Sie unter GetCurrentDirectory.To obtain the current working directory, see GetCurrentDirectory.

Wenn Sie versuchen, eine Datei über Volumes hinweg zu verschieben, und diese Datei verwendet wird, wird die Datei wird an das Ziel kopiert, aber sie wird nicht aus der Quelle gelöscht.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.

Eine Liste der allgemeinen e/a-Aufgaben, finden Sie unter e/a-Aufgaben.For a list of common I/O tasks, see Common I/O Tasks.

Sicherheit

FileIOPermission
für das Lesen von sourceFileName der und Schreiben in destFileName.for reading from sourceFileName and writing to destFileName. Zugeordnete Enumerationen: Read, WriteAssociated enumerations: Read, Write

Siehe auch

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

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)

Parameter

sourceFileName
String String String String
destFileName
String String String String

Gilt für: