FileInfo.MoveTo メソッド
アセンブリ: mscorlib (mscorlib.dll 内)


例外の種類 | 条件 |
---|---|
IOException | I/O エラーが発生しました。移動先のファイルが既に存在するか、移動先のデバイスの準備ができていない、などの原因が考えられます。 |
ArgumentNullException | destFileName が null 参照 (Visual Basic では Nothing) です。 |
ArgumentException | |
SecurityException | |
UnauthorizedAccessException | |
FileNotFoundException | ファイルが見つかりません。 |
DirectoryNotFoundException | |
PathTooLongException | 指定したパス、ファイル名、またはその両方がシステム定義の最大長を超えています。たとえば、Windows ベースのプラットフォームの場合、パスの長さは 248 文字未満、ファイル名の長さは 260 文字未満である必要があります。 |
NotSupportedException |

このメソッドは、異なるディスク ボリューム間の移動もサポートします。たとえば、ファイル c:\MyFile.txt を d:\public に移動して、NewFile.txt という名前に変更できます。
その他の一般的な I/O タスクまたは関連する I/O タスクの例を次の表に示します。
File.AppendText FileInfo.AppendText | |
Directory.Move DirectoryInfo.MoveTo |
Windows Mobile for Pocket PC、Windows Mobile for Smartphone、Windows CE プラットフォームメモ : 一部のデバイスのファイル システムは相対パスをサポートしていません。絶対パス情報を指定してください。

ファイルを別の場所に移動し、そのファイルの名前を変更する例を次に示します。
Imports System Imports System.IO Imports System.Text Imports System.Text.RegularExpressions Imports System.Xml Module Program Private sourcePath As String = Environment.GetFolderPath _ (Environment.SpecialFolder.MyDocuments) & _ "\FileInfoTestDirectory\MoveFrom\FromFile.xml" ' Private destPath As String = Environment.GetFolderPath _ (Environment.SpecialFolder.MyDocuments) & _ "\FileInfoTestDirectory\DestFile.xml" ' ' The main entry point for the application. ' <STAThread()> Sub Main() ' Change Console properties to make it obvious that ' the application is starting. Console.Clear() ' Move it to the upper left corner of the screen. Console.SetWindowPosition(0, 0) ' Make it very large. Console.SetWindowSize(Console.LargestWindowWidth - 24, _ Console.LargestWindowHeight - 16) Console.WriteLine("Welcome.") Console.WriteLine("This application demonstrates the FileInfo.MoveTo method.") Console.WriteLine("Press any key to start.") Dim s As String = Console.ReadLine() Console.Write(" Checking whether ") Console.Write(sourcePath) Console.WriteLine(" exists.") Dim fInfo As FileInfo = New FileInfo(sourcePath) EnsureSourceFileExists() DisplayFileProperties(fInfo) Console.WriteLine("Preparing to move the file to ") Console.Write(destPath) Console.WriteLine(".") MoveFile(fInfo) DisplayFileProperties(fInfo) Console.WriteLine("Preparing to delete directories.") DeleteFiles() Console.WriteLine("Press the ENTER key to close this application.") s = Console.ReadLine() End Sub ' ' Moves the supplied FileInfo instance to destPath. ' Private Sub MoveFile(ByVal fInfo As FileInfo) Try fInfo.MoveTo(destPath) Console.WriteLine("File moved to ") Console.WriteLine(destPath) Catch ex As Exception DisplayException(ex) End Try End Sub ' ' Ensures that the test directories ' and the file FromFile.xml all exist. ' Private Sub EnsureSourceFileExists() ' Create a FileInfo instance, and get the full path ' to the parent directory. Dim fInfo As FileInfo = New FileInfo(sourcePath) Dim dirPath As String = fInfo.Directory.FullName ' If the directory does not exist, create it. If Not Directory.Exists(dirPath) Then Directory.CreateDirectory(dirPath) End If ' If DestFile.xml exists, delete it. If File.Exists(destPath) Then File.Delete(destPath) End If Console.Write("Creating file ") Console.Write(fInfo.FullName) Console.WriteLine(".") Try If Not fInfo.Exists Then ' Call WriteFileContent to create the file. Console.WriteLine("Adding data to the file.") WriteFileContent(10) Console.WriteLine("Successfully created the file.") End If Catch ex As Exception DisplayException(ex) Finally dirPath = Nothing fInfo = Nothing End Try End Sub ' ' Creates and saves an Xml file to sourcePath. ' Private Sub WriteFileContent(ByVal totalElements As Integer) Dim doc As New XmlDocument() doc.PreserveWhitespace = True doc.AppendChild(doc.CreateXmlDeclaration("1.0", Nothing, "yes")) doc.AppendChild(doc.CreateWhitespace(ControlChars.CrLf)) Dim root As XmlElement = doc.CreateElement("FileInfo.MoveTo") Dim index As Integer = 0 Dim elem As XmlElement While index < totalElements elem = doc.CreateElement("MyElement") elem.SetAttribute("Index", index.ToString()) elem.AppendChild(doc.CreateWhitespace(ControlChars.CrLf)) elem.AppendChild(doc.CreateTextNode(String.Format _ ("MyElement at position {0}.", index))) elem.AppendChild(doc.CreateWhitespace(ControlChars.CrLf)) root.AppendChild(elem) index += 1 End While doc.AppendChild(root) doc.AppendChild(doc.CreateWhitespace(ControlChars.CrLf)) doc.Save(sourcePath) End Sub ' ' Displays FullName, CreationTime, and LastWriteTime of the supplied ' FileInfo instance, then displays the text of the file. ' Private Sub DisplayFileProperties(ByVal fInfo As FileInfo) Console.WriteLine("The FileInfo instance shows these property values.") Dim reader As StreamReader = Nothing Try Console.Write("FullName: ") Console.WriteLine(fInfo.FullName) Console.Write("CreationTime: ") Console.WriteLine(fInfo.CreationTime) Console.Write("LastWriteTime: ") Console.WriteLine(fInfo.LastWriteTime) Console.WriteLine() Console.WriteLine("File contents:") Console.WriteLine() reader = New StreamReader(fInfo.FullName) While Not reader.EndOfStream Console.WriteLine(reader.ReadLine()) End While Console.WriteLine() Catch ex As Exception DisplayException(ex) Finally If Not reader Is Nothing Then reader.Close() reader = Nothing End If End Try End Sub ' ' Deletes the test directory and all its files and subdirectories. ' Private Sub DeleteFiles() Try Dim dInfo As DirectoryInfo = New DirectoryInfo(Environment.GetFolderPath _ (Environment.SpecialFolder.MyDocuments) + "\FileInfoTestDirectory") If dInfo.Exists Then dInfo.Delete(True) Console.WriteLine("Successfully deleted directories and files.") End If dInfo = Nothing Catch ex As Exception DisplayException(ex) End Try End Sub ' ' Displays information about the supplied Exception. This ' code is not suitable for production applications. ' Private Sub DisplayException(ByVal ex As Exception) Dim sb As New StringBuilder("An exception of type """) sb.Append(ex.GetType().FullName) sb.Append(""" has occurred.") sb.Append(ControlChars.CrLf) sb.Append(ex.Message) sb.Append(ControlChars.CrLf) sb.Append("Stack trace information:") sb.Append(ControlChars.CrLf) Dim matchCol As MatchCollection = Regex.Matches(ex.StackTrace, _ "(at\s)(.+)(\.)([^\.]*)(\()([^\)]*)(\))((\sin\s)(.+)(:line )([\d]*))?") Dim L As Integer = matchCol.Count Dim y, K As Integer Dim argList() As String Dim matchObj As Match Dim x As Integer = 0 While x < L matchObj = matchCol(x) sb.Append(ControlChars.CrLf) sb.Append(ControlChars.CrLf) sb.Append(matchObj.Result("$1 $2$3$4$5")) argList = matchObj.Groups(6).Value.Split(New Char() {","}) K = argList.Length y = 0 While y < K sb.Append(ControlChars.CrLf) sb.Append(" ") sb.Append(argList(y).Trim().Replace(" ", " ")) sb.Append(",") y += 1 End While sb.Remove(sb.Length - 1, 1) sb.Append(ControlChars.CrLf) If 0 < matchObj.Groups(8).Length Then sb.Append(ControlChars.CrLf) sb.Append(matchObj.Result("$10")) sb.Append(ControlChars.CrLf) sb.Append(matchObj.Result("line $12")) End If x += 1 End While argList = Nothing matchObj = Nothing matchCol = Nothing Console.WriteLine(sb.ToString()) sb = Nothing Return End Sub End Module
using System; using System.Runtime.CompilerServices; using System.Runtime.InteropServices; using System.IO; using System.Reflection; using System.Security.Permissions; using System.Text; using System.Text.RegularExpressions; using System.Xml; namespace Microsoft.Samples.MoveTo.CS { class Program { private static string sourcePath = Environment.GetFolderPath (Environment.SpecialFolder.MyDocuments) + @"\FileInfoTestDirectory\MoveFrom\FromFile.xml"; private static string destPath = Environment.GetFolderPath (Environment.SpecialFolder.MyDocuments) + @"\FileInfoTestDirectory\DestFile.xml"; // // The main entry point for the application. // [STAThread()] static void Main () { // Change Console properties to make it obvious that // the application is starting. Console.Clear(); // Move it to the upper left corner of the screen. Console.SetWindowPosition(0, 0); // Make it very large. Console.SetWindowSize(Console.LargestWindowWidth - 24, Console.LargestWindowHeight - 16); Console.WriteLine("Welcome."); Console.WriteLine("This application demonstrates the FileInfo.MoveTo method."); Console.WriteLine("Press any key to start."); string s = Console.ReadLine(); Console.Write(" Checking whether "); Console.Write(sourcePath); Console.WriteLine(" exists."); FileInfo fInfo = new FileInfo (sourcePath); EnsureSourceFileExists(); DisplayFileProperties(fInfo); Console.WriteLine("Preparing to move the file to "); Console.Write(destPath); Console.WriteLine("."); MoveFile(fInfo); DisplayFileProperties(fInfo); Console.WriteLine("Preparing to delete directories."); DeleteFiles(); Console.WriteLine("Press the ENTER key to close this application."); s = Console.ReadLine(); } // // Moves the supplied FileInfo instance to destPath. // private static void MoveFile(FileInfo fInfo) { try { fInfo.MoveTo(destPath); Console.WriteLine("File moved to "); Console.WriteLine(destPath); } catch (Exception ex) { DisplayException(ex); } } // // Ensures that the test directories // and the file FromFile.xml all exist. // private static void EnsureSourceFileExists() { FileInfo fInfo = new FileInfo(sourcePath); string dirPath = fInfo.Directory.FullName; if (!Directory.Exists(dirPath)) { Directory.CreateDirectory(dirPath); } if (File.Exists(destPath)) { File.Delete(destPath); } Console.Write("Creating file "); Console.Write(fInfo.FullName); Console.WriteLine("."); try { if (!fInfo.Exists) { Console.WriteLine("Adding data to the file."); WriteFileContent(10); Console.WriteLine("Successfully created the file."); } } catch (Exception ex) { DisplayException(ex); } finally { dirPath = null; } } // // Creates and saves an Xml file to sourcePath. // private static void WriteFileContent(int totalElements) { XmlDocument doc = new XmlDocument(); doc.PreserveWhitespace = true; doc.AppendChild(doc.CreateXmlDeclaration("1.0", null, "yes")); doc.AppendChild(doc.CreateWhitespace("\r\n")); XmlElement root = doc.CreateElement("FileInfo.MoveTo"); root.AppendChild(doc.CreateWhitespace("\r\n")); int index = 0; XmlElement elem; while (index < totalElements) { elem = doc.CreateElement("MyElement"); elem.SetAttribute("Index", index.ToString()); elem.AppendChild(doc.CreateWhitespace("\r\n")); elem.AppendChild(doc.CreateTextNode(String.Format ("MyElement at position {0}.", index))); elem.AppendChild(doc.CreateWhitespace("\r\n")); root.AppendChild(elem); root.AppendChild(doc.CreateWhitespace("\r\n")); index++; } doc.AppendChild(root); doc.AppendChild(doc.CreateWhitespace("\r\n")); doc.Save(sourcePath); elem = null; root = null; doc = null; } // // Displays FullName, CreationTime, and LastWriteTime of the supplied // FileInfo instance, then displays the text of the file. // private static void DisplayFileProperties(FileInfo fInfo) { Console.WriteLine("The FileInfo instance shows these property values."); StreamReader reader = null; try { Console.Write("FullName: "); Console.WriteLine(fInfo.FullName); Console.Write("CreationTime: "); Console.WriteLine(fInfo.CreationTime); Console.Write("LastWriteTime: "); Console.WriteLine(fInfo.LastWriteTime); Console.WriteLine(); Console.WriteLine("File contents:"); Console.WriteLine(); reader = new StreamReader(fInfo.FullName); while (!reader.EndOfStream) { Console.WriteLine(reader.ReadLine()); } Console.WriteLine(); } catch (Exception ex) { DisplayException(ex); } finally { if (reader != null) { reader.Close(); } reader = null; } } // // Deletes the test directory and all its files and subdirectories. // private static void DeleteFiles() { try { DirectoryInfo dInfo = new DirectoryInfo(Environment.GetFolderPath (Environment.SpecialFolder.MyDocuments) + "\\FileInfoTestDirectory"); if (dInfo.Exists) { dInfo.Delete(true); Console.WriteLine("Successfully deleted directories and files."); } dInfo = null; } catch (Exception ex) { DisplayException(ex); } } // // Displays information about the supplied Exception. This // code is not suitable for production applications. // private static void DisplayException(Exception ex) { StringBuilder sb = new StringBuilder(); sb.Append("An exception of type \""); sb.Append(ex.GetType().FullName); sb.Append("\" has occurred.\r\n"); sb.Append(ex.Message); sb.Append("\r\nStack trace information:\r\n"); MatchCollection matchCol = Regex.Matches(ex.StackTrace, @"(at\s)(.+)(\.)([^\.]*)(\()([^\)]*)(\))((\sin\s)(.+)(:line )([\d]*))?"); int L = matchCol.Count; string[] argList; Match matchObj; int y, K; for(int x = 0; x < L; x++) { matchObj = matchCol[x]; sb.Append(matchObj.Result("\r\n\r\n$1 $2$3$4$5")); argList = matchObj.Groups[6].Value.Split(new char[] { ',' }); K = argList.Length; for (y = 0; y < K; y++) { sb.Append("\r\n "); sb.Append(argList[y].Trim().Replace(" ", " ")); sb.Append(','); } sb.Remove(sb.Length - 1, 1); sb.Append("\r\n)"); if (0 < matchObj.Groups[8].Length) { sb.Append(matchObj.Result("\r\n$10\r\nline $12")); } } argList = null; matchObj = null; matchCol = null; Console.WriteLine(sb.ToString()); sb = null; } } }


Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


Weblioに収録されているすべての辞書からFileInfo.MoveTo メソッドを検索する場合は、下記のリンクをクリックしてください。

- FileInfo.MoveTo メソッドのページへのリンク