다음을 통해 공유


방법: Visual Basic에서 파일 이름 바꾸기

Visual Basic에서는 파일 이름을 바꾸는 두 가지 방법이 있습니다. Visual Basic 런타임 개체 My.Computer.FileSystem 또는 .NET에서 제공하는 System.IO.File 개체를 사용하여 파일 이름을 바꿀 수 있습니다.

.NET으로 이름 바꾸기

System.IO.File 개체에 파일 이름을 바꾸는 메서드가 포함되어 있지 않지만, Move 메서드를 사용하여 파일을 동일한 위치로 다른 파일 이름으로 "이동"합니다. 이 메서드를 사용하면 파일을 다른 이름을 가진 다른 위치로 이동하고 이동과 이름 바꾸기를 함께 수행할 수도 있습니다.

다음 예에서는 My Documents 폴더에 있는 파일의 이름을 TextFile.txt에서 NewName.txt로 바꿉니다.

Dim myDocsFolder As String = My.Computer.FileSystem.SpecialDirectories.MyDocuments
Dim filePathSource = System.IO.Path.Combine(myDocsFolder, "TextFile.txt")
Dim filePathTarget = System.IO.Path.Combine(myDocsFolder, "NewName.txt")

System.IO.File.Move(filePathSource, filePathTarget)

Visual Basic 런타임으로 이름 바꾸기

파일의 전체 경로와 새 파일 이름을 제공하여 파일 이름을 바꾸려면 My.Computer.FileSystem 개체의 RenameFile 메서드를 사용합니다. 이 메서드는 파일을 다른 디렉터리로 이동하는 데 사용할 수 없습니다. 파일을 이동하는 방법을 알아보려면 방법: Visual Basic에서 파일 이동을 참조하세요.

다음 예에서는 My Documents 폴더에 있는 파일의 이름을 TextFile.txt에서 NewName.txt로 바꿉니다.

Dim myDocsFolder As String = My.Computer.FileSystem.SpecialDirectories.MyDocuments
Dim filePath = System.IO.Path.Combine(myDocsFolder, "TextFile.txt")

My.Computer.FileSystem.RenameFile(filePath, "NewName.txt")

Visual Studio는 My.Computer.FileSystem.RenameFile을 사용하는 IntelliSense 코드 조각을 제공합니다. 코드 조각은 파일 시스템 - 드라이브, 폴더 및 파일 처리에 있습니다. 자세한 내용은 코드 조각을 참조하세요.

강력한 프로그래밍

다음 조건에서 예외가 발생할 수 있습니다.

  • 경로는 빈 문자열이거나, 공백만 포함하거나, 잘못된 문자를 포함하거나, 디바이스 경로(\\.\로 시작)(ArgumentException)이면 유효하지 않습니다.
  • newName에 경로 정보가 포함된 경우(ArgumentException)
  • 경로가 Nothing(ArgumentNullException)이므로 유효하지 않습니다.
  • newNameNothing 이거나 빈 문자열인 경우(ArgumentNullException)
  • 원본 파일이 유효하지 않거나 존재하지 않습니다(FileNotFoundException).
  • newName에 지정된 이름의 기존 파일 또는 디렉터리가 있는 경우(IOException)
  • 경로가 시스템 정의 최대 길이를 초과하는 경우(PathTooLongException)
  • 경로의 파일 이름이나 디렉터리 이름에 콜론(:)이 있거나 이름의 형식이 잘못된 경우(NotSupportedException)
  • 경로를 보는 데 필요한 권한이 사용자에게 없는 경우(SecurityException)
  • 사용자에게 필요한 권한(UnauthorizedAccessException)이 없습니다.

참고 항목