Dateien lokalisieren mit EXCEL?
Liste mit Dateinamen in Excel auf Festplatte finden
Hallo,
ich stehe vor dem Problem, dass für eine große Liste mit Dateinamen, die in Excel generiert wurde nun der Speicherort einer jeden Datei gefunden werden soll. Dh.: Mir wäre geholfen wenn jemand ein Tool (zB ein Makro) hätte, was für jede Zeile einer Spalte eine Suche durchführt und mir den Standort der Datei daneben in die näcshte Spalte schreibt. Gibt es sowas?
Ich habe ein ähnliches Makro gefunden, wobei hier der Suchbefehl auf eine Partition / einen Ordner eingeschränkt werden muss und dann -aus irgendeinem Grunde - der gesamte Ordnerinhalt angezeigt wird.
Nach jeder Datei einzeln zu suchen würde zu lange dauern, da es sich um rund 3000 Stück handelt.
Danke für die Hilfe!
Hallo,
ich stehe vor dem Problem, dass für eine große Liste mit Dateinamen, die in Excel generiert wurde nun der Speicherort einer jeden Datei gefunden werden soll. Dh.: Mir wäre geholfen wenn jemand ein Tool (zB ein Makro) hätte, was für jede Zeile einer Spalte eine Suche durchführt und mir den Standort der Datei daneben in die näcshte Spalte schreibt. Gibt es sowas?
Ich habe ein ähnliches Makro gefunden, wobei hier der Suchbefehl auf eine Partition / einen Ordner eingeschränkt werden muss und dann -aus irgendeinem Grunde - der gesamte Ordnerinhalt angezeigt wird.
Nach jeder Datei einzeln zu suchen würde zu lange dauern, da es sich um rund 3000 Stück handelt.
Danke für die Hilfe!
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 106697
Url: https://administrator.de/forum/dateien-lokalisieren-mit-excel-106697.html
Ausgedruckt am: 21.04.2025 um 18:04 Uhr
14 Kommentare
Neuester Kommentar
Also diesbezüglich fällt mir eine sehr banale Methode ein.
Im Root Verzeichnis der Partiton z.b. C:\ ein machen somit werden alle und zwar wirklich alle Ordner Unterordner abgegrast.
Sieht dann ungefähr so aus:
Dann musst du eigentlich nur noch von hinten anfangen nach dem ersten vorkommnis von \ zu trennen und dann die Dateinamen abzugliechen mit deiner Liste, wenn treffer dann Zeile übernehmen.....
Kommst damit zurecht?
Im Root Verzeichnis der Partiton z.b. C:\ ein
dir /S /B > test.txt
Sieht dann ungefähr so aus:
C:\Dokumente und Einstellungen\x\y\csharp-usb-hid-driver\USBHIDDRIVER\TESTS
C:\Dokumente und Einstellungen\x\y\csharp-usb-hid-driver\USBHIDDRIVER\USB
Dann musst du eigentlich nur noch von hinten anfangen nach dem ersten vorkommnis von \ zu trennen und dann die Dateinamen abzugliechen mit deiner Liste, wenn treffer dann Zeile übernehmen.....
Kommst damit zurecht?
Sodala
grüße
Sub Crawler()
Dim intFile As Integer
Dim strText As String
Dim vntArray As Variant
Dim localArr As Variant
Dim fileName As Variant
intFile = FreeFile
Open "C:\Dokumente und Einstellungen\x\Desktop\test2.txt" For Binary As #intFile
strText = Space$(LOF(intFile))
Get #intFile, , strText
Close #intFile
localArr = Range("range1").Value 'Dies ist eine Definierte Range ( Bereich Markieren und benennen )
vntArray = Split(Left$(strText, Len(strText) - 2), vbNewLine)
For i2 = LBound(vntArray) To UBound(vntArray) ' hier wird das Array der Textfile durchlaufen
For i1 = LBound(localArr) To UBound(localArr) ' hier wird das Array der Range durchlaufen
fileName = Split(vntArray(i2), "\") ' aufsplitten des Pfades
If (fileName(UBound(fileName)) = localArr(i1, 1)) Then ' Ubound(filename) gibt mir den letzen Index des Arrays zurück darin befindet sich der Dateiname
MsgBox ("Found" & vntArray(i2)) 'Hier ist er Punkt wo du etwas rausschreiben musst. vntArry(i2) beinhaltet den gesamten Pfad
End If
Next i1
Next i2
End Sub
grüße
Hm das ist eine gute Frage.
WIe sieht denn das aus, ist jede Datei die du in dieser Liste hast irgendwohin zu kopieren?
Wenn ja dann würd ich das gleich mit dem Makro erledigen, wenn Nein dann würd ich mir die Pfadinformationen mal im Klartext ablegen und bei bedarf kann ich die Infos ja in eine Stapelverarbeitung überführen und dort abarbeiten lassen.
Ich persönlich bin für beide Lösungen offen und kann dir da helfen......
grüße
WIe sieht denn das aus, ist jede Datei die du in dieser Liste hast irgendwohin zu kopieren?
Wenn ja dann würd ich das gleich mit dem Makro erledigen, wenn Nein dann würd ich mir die Pfadinformationen mal im Klartext ablegen und bei bedarf kann ich die Infos ja in eine Stapelverarbeitung überführen und dort abarbeiten lassen.
Ich persönlich bin für beide Lösungen offen und kann dir da helfen......
grüße
Hm hehe ja das Problem hatte ich auch da half nur Flasche auf die Entertaste stellen und Kaffe trinken gehen.
Also zu dem fehlt dir noch :
in der zeile 19 wo die MsgBox steht ist folgendes einzutragen die Msgbox kannst rauslöschen
Nehmen wir an deine zu suchenden Werte stehen in der Reihe A Ergebnisse kommen in die Reihe B
Damit sollte es Gehen
Also zu dem fehlt dir noch :
in der zeile 19 wo die MsgBox steht ist folgendes einzutragen die Msgbox kannst rauslöschen
Nehmen wir an deine zu suchenden Werte stehen in der Reihe A Ergebnisse kommen in die Reihe B
Range("B"&i1).Value = vntArray(i2)
Damit sollte es Gehen