| 

.NET C# Java Javascript Exception

2
Hallo zusammen

Ich möchte auf mehreren internen und externen Festplatten Dateien die ein gewisses alter überschritten haben löschen.

// Deklaration

dim DirC as new DirectoryInfo("C:\Test") // Interne Festplatte
dim DirX as new DirectoryInfo("X:\Test") // Externe Festplatte
dim DatC as FileInfo() = DirC.GetFiles
dim DatX as FileInfo() = DirX.GetFiles
dim FileC as FileInfo
dim FileX as FileInfo

// Alle Files in C:\Test auswerten

for each FileC in DatC
// Kontrolle auf Datum und evtl. löschen
next FileC


Bis hierhin läuft alles wunderbar, die Files werden kontrolliert und bei Bedarf gelöscht.
Dann mache ich dasselbe für die externe Festplatte:

// Alle Files in X:\Test auswerten

for each FileX in DatX
// Kontrolle auf Datum und evtl. löschen
next FileX

// Weitere Befehle...


Die Schleife wird gar nicht ausgeführt. Im Debugger sehe ich, dass die "for each" - Zeile ausgewertet wird, und dann direkt zu den weiteren Befehlen gesprungen wird.
Es scheint also, dass es gar keine FileX in DatX gibt, was aber ganz bestimmt falsch ist.
Kann es sein, dass Files einer externen Festplatte nicht abgefüllt werden?
Wenn ja, was kannnich dagegen tun?

Vielen dank für Eure Hilfe.
News:
07.09.2011
kaetzchen 31 5
4 Antworten
1
Benötigt Deine App den Admin-Modus?
Wenn ja - ist die Externe Festplatte auch sichtbar / ansprechbar, wenn Du eine Kommandozeile im Admin-Modus verwendest?
07.09.2011
HKogler 66 2
Ich bin Admin.
Ja, Festplatte ist Sicht- und Ansprechbar.
kaetzchen 08.09.2011
1
Admin sein, und mit Admin-berechtigungen starten sind zwei verschiedene Dinge ab Win Vista.
Genauer gesagt laufen Applikationen die vom Admin gestartet werden in einer anderen Session als Applikationen die vom Admin im Admin-Modus gestartet werden.
Um beim Beispiel Kommandozeile zu bleiben:
Es ist ein Unterschied, ob der Admin die CMD.EXE aufruft, oder auf die CMD.EXE mit der rechten Maustaste draufklickt und "Als Administrator ausführen" klickt.
HKogler 08.09.2011
OK, rechte Maustaste auf Cmd.exe, als Administrator ausführen.
DOS-Fenster geht auf.
Dir x: Enter
Alle Dateien werden angezeigt.
Scheint also alles zu klappen, nur mein Prg will nicht...
kaetzchen 08.09.2011
1
Mein Gott, so blöd wie ICH kann nur ICH sein!
Es läuft ja alles wunderbar wenn man keine Schreibfehler beim Verzeichnisnamen macht...

Vielen Dank an alle, die mir versucht haben zu helfen (obwohl mir in diesem Fall wirklich nicht zu helfen war)!

Sorry, das nächste mal passe ich besser auf...
08.09.2011
kaetzchen 31 5
0
Weiss hier wirklich keiner Rat?
Vielleicht gibt es ja auch einen alternativen Weg?
Über DOS? Leider gibt es keine "DEL *.* WHERE Datum < ...."
OK, es gäbe den Weg mit XCOPY die Dateien zu verschieben und dann am neuen Ort zu löschen. Aber das scheint mit doch wirklich "etwas zu Fuss" zu sein...

Bin für jede Hilfe dankbar!
08.09.2011
kaetzchen 31 5
1
Hast du mal im Eventlog von Windows geschaut ob sich dort etwas findet, was beispielsweise doch auf ein Berechtigungsproblem hindeuten könnte? Btw. welches Betriebssytem verwendest du?
13thAngel 08.09.2011
0
Im Eventlog finde ich nichts aufschlussreiches.
Zudem: Müsste bei einem Berechtigngsproblem nicht eine Ausnahme (in meinem Program) auftreten?
Ich verwende Windows 7 32-Bit Professional.
08.09.2011
kaetzchen 31 5

Stelle deine Vb-Frage jetzt!
TOP TECHNOLOGIES CONSULTING GmbH