[C#] DirectoryInfo.MoveTo icm met Explorer, File In Use

Pagina: 1
Acties:

Acties:
  • 0 Henk 'm!

  • Tranzity
  • Registratie: Januari 2001
  • Niet online
Ik heb het volgende probleem, volgens mij is het erg simpel, maar met mijn zoekacties bereik ik helaas (nog) niets.

Het volgende stukje code:
C#:
1
2
3
4
string[] args = Environment.GetCommandLineArgs();
string parentDir = args[1].Substring(0, args[1].LastIndexOf("\\"));
DirectoryInfo curDir = new DirectoryInfo(args[1]);
curDir.MoveTo(parentDir + "\\" + "test");


hieraanvast heb ik het volgende toegevoegd aan m'n register, zodat dit programma gestart kan worden vanuit de explorer context:
code:
1
2
[HKEY_CLASSES_ROOT\Directory\shell\Testje\command]
@="C:\\C\\Testje\\Testje\\bin\\Debug\\Testje.exe \"%1\""


Als ik nu voor Test kies op bijvoorbeeld C:\TestMap\123 zal ik het resultaat C:\TestMap\Test verwachten. Helaas krijg ik een IOException met de melding dat de folder/file inuse is.
Hoe krijg ik deze 'lock' eraf? Waarschijnlijk wordt deze door explorer gegenereerd..
Ik werk met Windows XP. Wie helpt mij weer op de juist weg?

Acties:
  • 0 Henk 'm!

  • TeeDee
  • Registratie: Februari 2001
  • Nu online

TeeDee

CQB 241

Wat staat er in parentDir? Als daar de map 'test' al staat gaat het niet werken.
Sla MSDN er nog eens op na.

Heart..pumps blood.Has nothing to do with emotion! Bored


Acties:
  • 0 Henk 'm!

  • Tranzity
  • Registratie: Januari 2001
  • Niet online
Dat heb ik natuurlijk al doorgepluist.
Er bestaat geen map 'test'.

Acties:
  • 0 Henk 'm!

  • king_charles
  • Registratie: Maart 2008
  • Laatst online: 15-08-2023
Tranzity schreef op maandag 29 juni 2009 @ 22:11:
...
Er bestaat geen map 'test'.
Dit controleer je ook dmv Directory.Exists?

Acties:
  • 0 Henk 'm!

  • Tranzity
  • Registratie: Januari 2001
  • Niet online
king_charles schreef op maandag 29 juni 2009 @ 22:19:
[...]
Dit controleer je ook dmv Directory.Exists?
Dit is gecontroleerd met if (Directory.Exists(parentDir+"\\"+"test")), C:\TestMap\Test bestaat niet.

Acties:
  • 0 Henk 'm!

  • king_charles
  • Registratie: Maart 2008
  • Laatst online: 15-08-2023
Het lukt me niet om het te reproduceren, maar misschien vind je op deze pagina een oplossing. Er wordt daar een niet zo nette manier geadviseerd, maar het lijkt zo ongeveer de enige oplossing.

Acties:
  • 0 Henk 'm!

  • plofkip
  • Registratie: Oktober 2002
  • Laatst online: 03-09 19:11
Volgens mij heeft het ermee te maken dat je met Explorer in dezelfde map zit te kijken...

Acties:
  • 0 Henk 'm!

  • Tranzity
  • Registratie: Januari 2001
  • Niet online
Aan de hand van die informatie laat ik het "directory hernoemen aan de hand van het Explorer menu" ding droppen en maak in een mooie koppeling in TotalCommander. Lijkt er dus op dat zodra ik op een folder klik in explorer deze map direct wordt gelocked, zonder dat ik erin kijk. (ik kijk er alleen maar tegenaan :P)
Thanks voor de info.

Acties:
  • 0 Henk 'm!

  • TeeDee
  • Registratie: Februari 2001
  • Nu online

TeeDee

CQB 241

offtopic:
Zeg voortaan even wat je allemaal al gedaan hebt. Het directory check gedeelte had je dus prima in je OP kunnen plaatsen in de relevante code. Scheelt weer een x aantal replies.

Heart..pumps blood.Has nothing to do with emotion! Bored

Pagina: 1