2013-05-08 2 views
0

파일을 복사하고 이름을 바꾸고 새 위치로 옮깁니다. 디렉토리 TestFiles2에더 나은 방법 복사 이동 이름 바꾸기 파일, Visual Basic (VS 2012 V11)

이 예제 파일을 복사 TEST.TXT을하고 는 NEWFILE.TXT 이름을 바꿉니다 : http://msdn.microsoft.com/en-us/library/36xbexyf(v=vs.90).aspx에 따르면, 다음 코드는 그렇게해야한다.

My.Computer.FileSystem.CopyFile _ 
("C:\UserFiles\TestFiles\test.txt", _ 
"C:\UserFiles\TestFiles2", "NewFile.txt", FileIO.UICancelOption.DoNothing) 

그러나, 나는 단지 덮어 쓰기를 처리하는 부울 매개 변수로 "NEWFILE.TXT"매개 변수를보고이 코드를 입력 할 때. 나는 이것이 웹 사이트 부분의 실수라고 생각한다.

' Rename the file to be copied the name you want it to be in the new location 
My.Computer.FileSystem.RenameFile("C:\OriginalFile.txt", "OriginalFileTemporaryName.txt") 

' Copy the file to the new location and overwrite if it exists there 
My.Computer.FileSystem.CopyFile ("C:\OriginalFileTemporaryName.txt", "C:\UserFiles\TestFiles2", True) 

' Rename the original file back to it's original name 
My.Computer.FileSystem.RenameFile("C:\OriginalFileTemporaryName.txt", "OriginalFile.txt") 

: 이름을 변경하고 파일을 이동 복사 (내가 뭔가 잘못하고있는 중이 아닌 경우) 내가 "My.Computer.FileSystem.CopyFile"를 사용할 수없는 경우

, 더 좋은 방법은 다음이가 위의 문제는 원본 파일의 이름을 원래 파일 위치에 이미 존재하는 임시 이름으로 바꿀 수 있다는 것입니다. 나는 그것을 피하고 싶다. 또한 "My.Computer.FileSystem.RenameFile"에 대해 덮어 쓰기 옵션을 표시하지 않기 때문에 대상 폴더에서 복사 한 파일의 이름을 바꾸고 싶지 않습니다.

이 방법도 절반으로 괜찮습니까? 더 좋은 방법이 없습니까?

답변

1

확실히 웹 사이트에서 실수 인 것처럼 보입니다. 그래도 우리를 막을 수는 없습니다. 그냥 같은 매개 변수에 디렉토리와 파일 이름을 넣어 :

My.Computer.FileSystem.CopyFile("C:\UserFiles\TestFiles\test.txt", "C:\UserFiles\TestFiles2\NewFile.txt", FileIO.UICancelOption.DoNothing) 

(당신이 강제로 겹쳐 쓰기를 할 경우, 당신이 덮어 쓸 수 있다는 것을 알고하지 않습니다 True에 세 번째 매개 변수를 변경하고 같은 호출에 CancelOption.DoNothing를 전달합니다. .)

2

구문 오류가 있다고 생각합니다. 두 파일 이름을 하나의 문자열로 지정할 때 디렉토리 이름과 파일 이름의 두 매개 변수로 대상 파일 이름을 지정하려고합니다.

My.Computer.FileSystem.CopyFile ("C:\UserFiles\TestFiles\test.txt", "C:\UserFiles\TestFiles2\NewFile.txt") 

이와 비슷합니다. 세 번째 매개 변수는 부울 (True/False) 일 수 있습니다. 대상 파일이있는 경우이를 덮어 쓸지 여부입니다.

파일이 있는지 먼저 확인하려면 System.IO.File 클래스를 살펴보고 파일 이름을 허용하고 부울을 반환하는 "Exists"메서드가 있습니다. 성능상의 이점은 없지만 FileSystem 클래스 대신 사용할 수있는 파일을 조작하는 메서드도 있습니다.