just looking for some help on this. I’ve tried a few different things and I’m stumped. I’m trying to take a check if a file exists in a directory, and if it does, then I want to rename add - Copy to the file name. Then it should check again if there is a conflict, and if there isn’t it should move the file. Sounds simple enough, but it isn’t working at all. Since I can’t convert from String to DirectoryInfo, I have to declare multiple variables, and it just doesn’t feel right. What can I do to fix this?
Dim fileExt As String = ""
Dim oldFileName As String = file.FullName
Dim newFileName As String = oldFileName
Dim newFileLocation = Environment.GetSpecialFolder(Environment.SpecialFolder.MyPictures) + "\" + file.Name
While FileIO.FileSystem.FileExists(newFileLocation) 'While File exists in new directory
'Add copy to filename
fileExt = fileType.Replace("*", "")
newFileName = newFileName.Remove(newFileName.LastIndexOf("."), (newFileName.Length - newFileName.LastIndexOf(".")))
newFileName += " - Copy"
newFileName += fileExt
'Rename file
FileSystem.Rename(oldFileName, newFileName)
'Declare a new DirInf variable because I can't use a string to set one
Dim newFile As New DirectoryInfo(newFileName)
'Move the new file to
newFile.MoveTo("C:\Users\" + Environ("USERNAME") + "\Pictures\")
ProgressBar.Value += 1
End While
You’re looking for
File.Move(), which takes two strings.Also,
"C:\Users\" + Environ("USERNAME") + "\Pictures\"is very wrong; many users do not haveC:drives.You should call
Environment.GetSpecialFolder(Environment.SpecialFolder.MyPictures)