Clever-Excel-Forum

Normale Version: Letzten Dateinamen im Verzeichnis finden
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2
Hallo Leute,

mit dem Befehl  Debug.Print Dir("C:\Musik\*.mp3") bekomme ich den ersten Namen einer im Verzeichnis Musik stehenden mp3-Datei.

Ich suche nach einem Befehl der mir den letzten Namen einer Musikdatei in diesem Verzeichnis ausgibt.  Ich weiß, das ich so etwas mit Durchzählen der einzelnen Dateien im Verzeichnis über eine For Each Schleife unter Einbindung des Scripting.FileSystemObject's erreichen kann. Im Rahmen verbesserte Effizienz suche ich aber eine Möglichkeit einer verbesserten, also direkten Ausgabe dieses Dateinamens.

Wenns nicht geht, ok.
Schreibt mir bitte auch das.
Hallo,

mal aus der Hilfe zur Dir-Funktion

Zitat:Tip Die Dateinamen werden unsortiert zurückgegeben. Bei Bedarf können Sie die zurückgegebenen Dateinamen in einem Datenfeld speichern und das Datenfeld anschließend sortieren.

Die letzte Datei wäre dann mit Ubound(Datenfeld) erreichbar.
Hallo Stefan,

also scheints Hoffnung zu geben. Das bräuchte ich dann aber doch noch etwas genauer.
Hallo,

der DOS-Befehl

dir /o-d sortiert die Ausgabe mit dem neuesten zuerst. Also mit

mit

ar = Split(CreateObject("wscript.shell").exec("cmd /c Dir " & sPath & sFile & " /o-d").stdout.readall, vbCrLf) (0)

steht in der Variablen ar der Pfad und Dateiname der am letztem abgespeicherten Datei.

mfg

PS: Formel von snb

ungeprüft, eventuell mit dir "" & ... "" /b/o-d
Danke Leute. Und speziellen Dank auch an snb. Hätte ich nie und nimmer hinbekommen.

Auf dem Laufwerk C im Ordner Test lautet die von mir jetzt geprüfte Formel:


Code:
ar = Split(CreateObject("wscript.shell").exec("cmd /c Dir " & "C:\Test\" & " /b/o-d ").stdout.readall, vbCrLf)(0)
Hallo Leute,

bezüglich der Ermittlung des letzten Dateinamens in einem Verzeichnis möchte ich noch eine eigene Lösung vorstellen. Zwar kann der Dateiname nicht
mittels einer Programmierzeile ermittelt werden, dafür braucht man aber auch keine Superprogrammierkenntnisse und sauschnell ist das kleine Makro
auch.



Code:
Sub Ermittlung_des_letzten_Dateinamens()
Dim Dateiname, LetzterDateiname
Dateiname = Dir("C:\Testordner\")
While Dateiname <> ""
LetzterDateiname = Dateiname
Dateiname = Dir
Wend
Debug.Print LetzterDateiname
End Sub
Hi,

(08.06.2016, 15:56)santana schrieb: [ -> ]bezüglich der Ermittlung des letzten Dateinamens in einem Verzeichnis möchte ich noch eine eigene Lösung vorstellen.

gute Lösung, ich habe es so übernommen, weil ich nicht weiß, wie ich das Debug.Print verwende:
Code:
Option Explicit

Sub Ermittlung_des_letzten_Dateinamens()
   Dim Dateiname, LetzterDateiname
   Dateiname = Dir("C:\Testordner\")
   While Dateiname <> ""
      LetzterDateiname = Dateiname
      Dateiname = Dir
   Wend
   MsgBox LetzterDateiname
'   Debug.Print LetzterDateiname
End Sub
Hallo Ralf,

(08.06.2016, 16:30)Rabe schrieb: [ -> ]weil ich nicht weiß, wie ich das Debug.Print verwende:

die Ergebnisse werden ins Direktfenster (STRG+G oder über Menüleiste Ansicht - Direktfenster) geschrieben.
Hi,

(08.06.2016, 18:51)Steffl schrieb: [ -> ]die Ergebnisse werden ins Direktfenster (STRG+G oder über Menüleiste Ansicht - Direktfenster) geschrieben.

ok. Danke.
Hi,
warum auch immer, bei mir wird nicht der letzte Dateiname im Verzeichnis angezeigt, sondern einer irgendwo dazwischen. Keine Ahnung warum.
Seiten: 1 2