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 1602 korisnika na forumu :: 41 registrovanih, 4 sakrivenih i 1557 gosta   ::   [ Administrator ] [ Supermoderator ] [ Moderator ] :: Detaljnije

Najviše korisnika na forumu ikad bilo je 20624 - dana 04 Apr 2026 04:18

Korisnici koji su trenutno na forumu:
Korisnici trenutno na forumu: A.R.Chafee.Jr., Belac91, Bob.Rock, Bobrock1, bojank, Borkanović, branko87, bukefal, Cicumile, dekan.m, desmeki, DonRumataEstorski, Duk011, Electron, ElGenius, Feller, ILGromovnik, Jeremiah, Kaplar2, KizJ, komsija1, Koplje, Koser, Kurgan, ladro, Metanoja, mile33, Mićko, nebkv, nekdo, Pero, proka89, Promising0, skok, stefan95, stegonosa, TRAVUNIJA, Velizar, vuk77, zixo, Zoran1959