Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Letzten Dateinamen im Verzeichnis finden
#1
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.
Antworten Top
#2
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.
Gruß Stefan
Win 10 / Office 2016
Antworten Top
#3
Hallo Stefan,

also scheints Hoffnung zu geben. Das bräuchte ich dann aber doch noch etwas genauer.
Antworten Top
#4
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
Antworten Top
#5
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)
Antworten Top
#6
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
Antworten Top
#7
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
Antworten Top
#8
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.
Gruß Stefan
Win 10 / Office 2016
Antworten Top
#9
Hi,

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

ok. Danke.
Antworten Top
#10
Hi,
warum auch immer, bei mir wird nicht der letzte Dateiname im Verzeichnis angezeigt, sondern einer irgendwo dazwischen. Keine Ahnung warum.
Mit freundlichen Grüßen  :)
Michael
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste