c# - Why is File.Move not working as expected? -
i trying move files rootfolderpath destinationpath
try { string rootfolderpath = @"d:\log_siteq\"; if (!directory.exists(path.combine(@"d:\log_takaya\" + combobox1.selecteditem.tostring()))) { system.io.directory.createdirectory(path.combine(@"d:\log_takaya\" + combobox1.selecteditem.tostring())); } string destinationpath = path.combine(@"d:\log_takaya\" + combobox1.selecteditem.tostring() ); string filetypes = @"*.*"; string[] filelist = system.io.directory.getfiles(rootfolderpath, filetypes); foreach (string file in filelist) { string ext = path.getextension(file); string destination = path.combine(destinationpath,file); file.move( file,destination); messagebox.show(file); messagebox.show(destination); } } catch(exception ex) { messagebox.show(ex.tostring()); } apparently messagebox.show(file); shows me root folder path ( normal) messagebox.show(destination); showing me same thing.
what gives? moves file root folder in same folder.am not getting something?
you combining destinationpath complete file path of file:
string destination = path.combine(destinationpath, file); which overwrite destination original file path (because "c:\desitnation\c:\source\filename.txt" isn't valid path).
instead, need file name this:
string destination = path.combine(destinationpath, path.getfilename(file));
Comments
Post a Comment