Move folder

1

Move folder

offline
  • Pridružio: 01 Apr 2005
  • Poruke: 797
  • Gde živiš: Niš

Zašto neće da uradi sledeće u C#-u :
Directory.Move("E:\\Temp\\C#\\PROBNI DIREKTORIJUM", "E:\\Temp\\C#\\Probni direktorijum");
Kaže ovako u debugeru:

/////////////////////////////////

System.IO.IOException was unhandled
Message="Source and destination path must be different."
Source="mscorlib"
StackTrace:
at System.IO.Directory.Move(String sourceDirName, String destDirName)
at Capitalize_Folder.Form1.button2_Click(Object sender, EventArgs e) in C:\Documents and Settings\Sale\My Documents\Visual Studio 2005\Projects\Capitalize Folder\Capitalize Folder\Form1.cs:line 43
at System.Windows.Forms.Control.OnClick(EventArgs e)
at System.Windows.Forms.Button.OnClick(EventArgs e)
at System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
at System.Windows.Forms.Control.WndProc(Message& m)
at System.Windows.Forms.ButtonBase.WndProc(Message& m)
at System.Windows.Forms.Button.WndProc(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.DebuggableCallback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
at System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG& msg)
at System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(Int32 dwComponentID, Int32 reason, Int32 pvLoopData)
at System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32 reason, ApplicationContext context)
at System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32 reason, ApplicationContext context)
at System.Windows.Forms.Application.Run(Form mainForm)
at Capitalize_Folder.Program.Main() in C:\Documents and Settings\Sale\My Documents\Visual Studio 2005\Projects\Capitalize Folder\Capitalize Folder\Program.cs:line 17
at System.AppDomain.nExecuteAssembly(Assembly assembly, String[] args)
at System.AppDomain.ExecuteAssembly(String assemblyFile, Evidence assemblySecurity, String[] args)
at Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly()
at System.Threading.ThreadHelper.ThreadStart_Context(Object state)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
at System.Threading.ThreadHelper.ThreadStart()

/////////////////////////////////////////////////////////

Ipak nisu iste putanje, zar ne, trebalo bi da bude key sensitive!
Kako da ga nabudžim da rename-ujem ovako direktorijume?



Registruj se da bi učestvovao u diskusiji. Registrovanim korisnicima se NE prikazuju reklame unutar poruka.
offline
  • Pridružio: 04 Sep 2003
  • Poruke: 24135
  • Gde živiš: Wien

Ni FAT32 ni NTFS nisu case-sensitive, tako da je poruka iz debuggera na svom mestu.



offline
  • Pridružio: 01 Apr 2005
  • Poruke: 797
  • Gde živiš: Niš

Kako da ga rename-ujem?

offline
  • Pridružio: 04 Sep 2003
  • Poruke: 24135
  • Gde živiš: Wien

Nikako, posto ovo nije pravi rename jer je ime foldera isto.
Ukoliko ti je bas bitna velicin slova, onda uradi jedan move u neki temp, pa onda taj temp preimenuj kako ti volja.

offline
  • Pridružio: 18 Apr 2003
  • Poruke: 5001
  • Gde živiš: Beograd

Pa mora da postoji rename komanda, ti u gornjoj komandi pokusavas da premestis "E:\\Temp\\C#\\PROBNI DIREKTORIJUM" u njega samog tj. u "E:\\Temp\\C#\\PROBNI DIREKTORIJUM" sto slozices se, nikako ne moze da prodje.

offline
  • Pridružio: 04 Sep 2003
  • Poruke: 24135
  • Gde živiš: Wien

@Bone
Ako sam dobro shvatio, on zeli da promeni 'case' slova.
Problem je sto filesistem ni je case-sensitive, tako da ovaj kod gore nije Rename.

Directory.Move jeste naredba kojom se radi rename, i sintaksa gore je OK, ali to ovde nije moguce iz vec spomenutih razloga.

offline
  • Pridružio: 18 Apr 2003
  • Poruke: 5001
  • Gde živiš: Beograd

Znam da on zeli da promeni case ali to sam ja radio bez problema iz VC++ 6 (i na FAT32 i na NTFS) tako da ne vidim razlog zasto i ovde ne bi bilo moguce, cudno mi je da se rename radi sa komandom Move...

offline
  • Pridružio: 18 Apr 2003
  • Poruke: 8134
  • Gde živiš: U kesici gumenih bombona...

Bas zato sto se rename radi sa move, zato i ne moze da promeni naziv fodera na taj nacin.

Gledao sam u MSDN, uopste nema rename za Direcory. Move radi i move i rename.

Jedino da obrise folder i kreira novi sa istim imenom, samo sa promenjenim case-ingom.

offline
  • Pridružio: 18 Apr 2003
  • Poruke: 5001
  • Gde živiš: Beograd

Pa ne mora da ga brise, moze da ga renameuje dva puta, prvi put u temp$$$$$.tmp i drugi put u pravi naziv koji zeli.

Dopuna: 11 Jul 2006 15:56

Stim sto ako postoji jako mnogo fajlova unutar foldera, dugo ce mu trajati to.

offline
  • Pridružio: 01 Apr 2005
  • Poruke: 797
  • Gde živiš: Niš

Kako loše, a za fajlove radi bez problema.

Ko je trenutno na forumu
 

Ukupno su 795 korisnika na forumu :: 45 registrovanih, 7 sakrivenih i 743 gosta   ::   [ Administrator ] [ Supermoderator ] [ Moderator ] :: Detaljnije

Najviše korisnika na forumu ikad bilo je 3466 - dana 01 Jun 2021 17:07

Korisnici koji su trenutno na forumu:
Korisnici trenutno na forumu: A.R.Chafee.Jr., Alibaba1981, babaroga, bokisha253, Boris90, BORUTUS, darkangel, djordje92sm, filiphr, Georgius, gomago, goxin, ILGromovnik, Joja, kikisp, kinez88, Krusarac, Kubovac, Marko Marković, mercedesamg, milenko crazy north, MilosKop, Nemanja.M, nemkea71, panonski mornar, Panter, repac, Romibrat, S1Mk3, Sir Budimir, slonic_tonic, solic, SR-3m, stegonosa, Toper, uruk, vaso1, Vatreni Zmaj, vukovi, yufighter, YugoSlav, zastavnik, zixmix, zlaya011, zzapNDjuric99