Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1400to1404
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

besserer Zugriff auf Verzeichniss- und Dateinamen

besserer Zugriff auf Verzeichniss- und Dateinamen
07.01.2015 03:13:07
Peter

Hallo @all,
ich bin dabei alte ZIP/RAR/etc. Dateien durch zu sehen und was darin ist.
Dazu entpacke die temporär (testen ob es noch geht) und liste die Dateien und Verzeichnisse in Excel auf.
Dabei bin ich auf ein Problem gestoßen, wo ich keine gescheite Lösung finden kann.
Und zwar enthalten die alten Archive zum Teil Dateien und Verzeichnisse mit einem Leerzeichen am Ende oder Anfang. Das ging früher offenbar. Aber unter Win7 ist das jetzt eigentlich nicht mehr erlaubt.
Trotzdem werden die Verzeichnisse und Dateien mit den Leerzeichen entpackt und angelegt. Im Explorer kann man auch alles sehen, aber nicht umbenennen und auch nicht löschen.
Das FileSystemObject (Public FsO As New FileSystemObject) sieht die nun allerdings überhaupt nicht. Ich hatte mich lange gewundert, warum in Excel weniger Dateien und Verzeichnisse aufgelistet wurden, als tatsächlich entpackt worden sind.
Nach dem ich das Problem endlich erkannt hatte, habe ich nach anderen Wegen gesucht, wie denn alle Dateien und Verzeichnisse die es gibt, auch wirklich in Excel aufgelistet werden könnten.
Das einzige was ich bis jetzt hin bekommen habe, ist eine sehr umständliche Methode mit dem Dir Befehl in Batch-Dateien die so aussehen:
Für Verzeichnisse:
@dir /x /ad %1 > c:\temp\vba_dir.txt
Für Dateien:
@dir /x /a-d %1 > c:\temp\vba_dir.txt
Im VBA rufe ich die cmd-Dateien über Shell auf:
Dim FolderS as String
FolderS = """c:\temp\test entpackt xyz\"""
Shell "c:\temp\vba_folder_dir.cmd " & FolderS
Die Ausgabe von dem Dir-Kommando wird dabei umgeleitet in die Datei:
c:\temp\vba_dir.txt
Sieht dann so aus:
----------------------------------------------------------
Datentr„ger in Laufwerk C: ist System_Laufwerk
Volumeseriennummer: 0862-7D47
Verzeichnis von C:\temp\test entpackt xyz
07.01.2015 01:35 <DIR> .
07.01.2015 01:35 <DIR> ..
04.01.2015 21:03 <DIR> BASIC1~1 Basic Kurs 1995 #1
04.01.2015 21:03 <DIR> BAS613~1 Basic Kurs 1995 #2
04.01.2015 21:03 <DIR> BAS829~1 Basic Befehlsliste
0 Datei(en), 0 Bytes
5 Verzeichnis(se), 646.458.474.496 Bytes frei
----------------------------------------------------------
Diese Text-Datei kann ich nun öffnen und auswerten. Durch die Option /x bekomme ich auch die alternativen Namen "BASIC1~1" die sich dann auch wieder umbenennen und löschen lassen.
Das ganz funktioniert so zwar und ich bekomme auch endlich wirklich jede Datei und jedes Verzeichnis nach Excel, aber es erscheint mir sehr umständlich.
Vielleicht kennt hier jemand einen API-Aufruf oder ähnliches der auch die alternativen Namen mit '8.3' Zeichen liefert und wo auch wirklich alle Verzeichnisse und Dateien geliefert werden wie beim alten Dir-Kommando.
Das FileSystemObject unterschlägt ja leider einige Dateien und Verzeichnisse und ist damit für mich nicht zu gebrauchen.
Gruß, Peter

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: besserer Zugriff auf Verzeichniss- und Dateinamen
07.01.2015 22:33:35
EinNamenloser
Hallo
Nachfolgender link zeigt wie es mit Api geht, ob dies nun einfacher ist weis ich jetzt nicht, ist aber flexibler und besser auswertbar.
http://www.office-loesung.de/ftopic148247_0_0_asc.php

Anzeige

304 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige