Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

Frage Microsoft Microsoft Office

GELÖST

Dateien lokalisieren mit EXCEL?

Mitglied: LoveBoat

LoveBoat (Level 1) - Jetzt verbinden

21.01.2009, aktualisiert 12:29 Uhr, 4603 Aufrufe, 14 Kommentare

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!
Mitglied: godlie
21.01.2009 um 12:34 Uhr
Hallo,

kannst du den Suchbereich ein wenig einschränken?Oder soll das "etwas" alle vorhanden Laufwerke abgrasen ?
Bitte warten ..
Mitglied: LoveBoat
21.01.2009 um 12:46 Uhr
Hallo.

Nein, es sollen nicht alle vorhandenen Laufwerke durchsucht werden, aber eine komplette Partition.
Eine Einschränkung des Suchbereichs ist m.E .nicht unbedingt notwendig.
Bitte warten ..
Mitglied: godlie
21.01.2009 um 13:05 Uhr
Also diesbezüglich fällt mir eine sehr banale Methode ein.
Im Root Verzeichnis der Partiton z.b. C:\ ein
01.
dir /S /B > test.txt
machen somit werden alle und zwar wirklich alle Ordner Unterordner abgegrast.

Sieht dann ungefähr so aus:
01.
C:\Dokumente und Einstellungen\x\y\csharp-usb-hid-driver\USBHIDDRIVER\TESTS 
02.
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?
Bitte warten ..
Mitglied: LoveBoat
21.01.2009 um 13:20 Uhr
Hey, Danke!

Den DOS Befehl kannte ich nur ohne das "/b". Das hätte mir im Vorfeld extrem viel Arbeit erleichtert. Insofern schonmal ein dickes Danke!
Was deinen letzten Satz angeht; ich weiß nicht wie ich das machen kann. Ich habe zwar schonmal zwei Tabellen auf Übereinstimmung hin überprüft, aber Zeile übernehmen und von hinten und so... noch nie gemacht.

Tipp?


Gruß,
F
Bitte warten ..
Mitglied: godlie
21.01.2009 um 14:25 Uhr
Sodala

01.
Sub Crawler() 
02.
  Dim intFile As Integer 
03.
    Dim strText As String 
04.
    Dim vntArray As Variant 
05.
    Dim localArr As Variant 
06.
    Dim fileName As Variant 
07.
     
08.
    intFile = FreeFile 
09.
    Open "C:\Dokumente und Einstellungen\x\Desktop\test2.txt" For Binary As #intFile 
10.
        strText = Space$(LOF(intFile)) 
11.
        Get #intFile, , strText 
12.
    Close #intFile 
13.
    localArr = Range("range1").Value 'Dies ist eine Definierte Range ( Bereich Markieren und benennen ) 
14.
    vntArray = Split(Left$(strText, Len(strText) - 2), vbNewLine) 
15.
    For i2 = LBound(vntArray) To UBound(vntArray) ' hier wird das Array der Textfile durchlaufen 
16.
        For i1 = LBound(localArr) To UBound(localArr) ' hier wird das Array der Range durchlaufen  
17.
            fileName = Split(vntArray(i2), "\") ' aufsplitten des Pfades 
18.
            If (fileName(UBound(fileName)) = localArr(i1, 1)) Then ' Ubound(filename) gibt mir den letzen Index des Arrays zurück darin befindet sich der Dateiname 
19.
                MsgBox ("Found" & vntArray(i2)) 'Hier ist er Punkt wo du etwas rausschreiben musst. vntArry(i2) beinhaltet den gesamten Pfad 
20.
            End If 
21.
        Next i1 
22.
    Next i2 
23.
End Sub 
24.
 
grüße
Bitte warten ..
Mitglied: LoveBoat
21.01.2009 um 14:53 Uhr
Hey, Danke.

Also, das sieht spannend aus. Ich habe im Grunde keinen Plan von Makros (= cut & paste kann ich, selbst schreiben nicht).

Bei dem Ding da oben sind mir jetzt zwei Sachen aufgefallen:
1. Zeile 09: Meine Datei liegt natürlich woanders und heißt auch anders, das habe ich dann sinngemäß ersetzt.
2. Diese Änderung alleine reicht nicht aus. Du hast ja auch in Zeile 13 stehen dass dort etwas eingefügt werden müsste. Mit dem hint kann ich allerdings nichts anfangen.
Hatte es zunächst einfach so probiert und natürlich eine Fehlermeldung für genau diese Stelle bekommen. --> Was genau muss markiert und benannt werden? Ein Bereich in der Tabelle?


Achso, habs verstanden. Aber jetzt sagt mir der Fehlerreport in Zeile 14 sei ein Fehler.
I
Bitte warten ..
Mitglied: godlie
22.01.2009 um 10:14 Uhr
Hallo

Ein Bereich der Tabelle ist die Sache die du definieren musst.
Es geht übrigens auch so:
01.
Range("B2:C8")
Weiters ist dann halt der Punkt, dass du den Pfad hinschreiben willst.
Wie willst du den Pfad hinschreiben? soll es ein Hyperlink werden? oder nur ein einfacher text?

grüße
Bitte warten ..
Mitglied: LoveBoat
22.01.2009 um 10:55 Uhr
Hey,

also das mit der Range habe ich noch hinbekommen. Es soll im Grund ja einfach eine Spalte (rund 3000 Zeilen) durchsucht werden.
Wie der Pfad dann ausgegeben wird ist mir im Grunde egal. Ich muss halt die fehlenden Dateien lokalisieren und kopieren (es handelt sich um zwei Rechner - bzw. ein Archiv).
Weiß nicht was da am sinnvollsten wäre...?
Bitte warten ..
Mitglied: godlie
22.01.2009 um 11:03 Uhr
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
Bitte warten ..
Mitglied: LoveBoat
22.01.2009 um 12:45 Uhr
Hallo,

also, ich habe das jetzt gerade laufen. Das Problem ist leider, dass ich jeden Fund mit OK bestätigen muss. Das ist in sofern problematisch als dass die eine Liste zwar "nur" 3000 Positionen beeinhaltet aber die txt-File ungefähr 10mal soviel.
Ich bräuchte einfach nur die Lokalisation (sprich der erste Fund in der Textliste) ausgegeben in Spalte B. --> D.h. neben dem Dateinamen sollte dann der Fund aus der Textfile stehen.
Bitte warten ..
Mitglied: godlie
22.01.2009 um 12:54 Uhr
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

01.
Range("B"&i1).Value = vntArray(i2)
Damit sollte es Gehen
Bitte warten ..
Mitglied: LoveBoat
22.01.2009 um 13:04 Uhr
Zeile 19 habe ich jetzt durch

Range("B"&i1).Value = vntArray(i2)

ersetzt. jetzt rechnet sich Excel die Seele aus dem Leib. Ich geb ihm noch 5 Minuten, dann sollte es doch eigentlich fertig sein?

Ich bin gespannt....
Bitte warten ..
Mitglied: LoveBoat
22.01.2009 um 13:08 Uhr
Yes we can!
Hat geklappt!!
Ich bin von den Socken, das hilft mir jetzt und in alle Ewigkeit. Super, super, super!

Tausend Dank!
Bitte warten ..
Mitglied: godlie
22.01.2009 um 13:09 Uhr
Freut mcih wenns funktioniert hat, ich habs nur mit einer kleinen Liste probiert und da war er schon recht fix dabei.
Bitte warten ..
Ähnliche Inhalte
Vmware
ESXi Installation lokalisieren
gelöst Frage von markdermarkVmware3 Kommentare

Hi, vorab zur Konfiguration: Im Einsatz ist ein Server mit mehreren RAID-Systemen und einem installierten ESXi 5.1. Die ESXi-Datastores ...

LAN, WAN, Wireless
Störsender (Radarwarnung) in unser Gegend lokalisieren
Frage von KevinFreeLAN, WAN, Wireless29 Kommentare

Moin, hab gestern die Fritzbox 6590 in Betrieb genommen und nutzte das 5G Netz. Leider immer wieder Aussetzter wg: ...

Microsoft Office
Excel Zellinhalte aus einer Datei in eine andere Excel Datei kopieren und auch aktualisieren
gelöst Frage von Rene1976Microsoft Office4 Kommentare

Hallo, bis jetzt habe ich immer eine Referenz von einer Excelzelle aus einer Datei in eine andere Excelzelle einer ...

Zusammenarbeit
(Open Source) Software übersetzen und lokalisieren?
Frage von carl7nZusammenarbeit2 Kommentare

Hallo, ich bin freiberuflicher Übersetzer und großer Freund von Open Source Software. Um der Community auch mal etwas zurück ...

Neue Wissensbeiträge
Linux

Meltdown und Spectre: Linux Update

Information von Frank vor 22 StundenLinux

Meltdown (Variante 3 des Prozessorfehlers) Der Kernel 4.14.13 mit den Page-Table-Isolation-Code (PTI) ist nun für Fedora freigegeben worden. Er ...

Tipps & Tricks

Solutio Charly Updater Fehlermeldung: Das Abgleichen der Dateien in -Pfad- mit dem Datenobject ist fehlgeschlagen

Tipp von StefanKittel vor 1 TagTipps & Tricks

Hallo, hier einmal als Tipp für alle unter Euch die mit der Zahnarztabrechnungssoftware Charly von Solutio zu tun haben. ...

Sicherheit

Meltdown und Spectre: Wir brauchen eine "Abwrackprämie", die die CPU-Hersteller bezahlen

Information von Frank vor 1 TagSicherheit12 Kommentare

Zum aktuellen Thema Meltdown und Spectre: Ich wünsche mir von den CPU-Herstellern wie Intel, AMD oder ARM eine Art ...

Sicherheit

Meltdown und Spectre: Realitätscheck

Information von Frank vor 1 TagSicherheit9 Kommentare

Die unangenehme Realität Der Prozessorfehler mit seinen Varianten Meltdown und Spectre ist seit Juni 2017 bekannt. Trotzdem sind immer ...

Heiß diskutierte Inhalte
Sicherheit
Meltdown und Spectre: Die machen uns alle was vor
Information von FrankSicherheit26 Kommentare

Aktuell sieht es in den Medien so aus, als hätten die Hersteller wie Intel, Microsoft und Co den aktuellen ...

Ubuntu
Ubuntu - Starter für nicht vertrauenswürdige Anwendungen
Frage von adm2015Ubuntu17 Kommentare

Hallo zusammen, Ich verwende derzeit die Ubuntu Versionen 17.10 bzw. im Test 18.04. Ich habe mehrere .desktop Dateien in ...

Windows 10
Automatische daten kopieren, USB zu USB unter Win10 im Hintergrund
Frage von DerEisigeWindows 1016 Kommentare

Hallo Leute, ich bin auf der Suche nach einem Skript, dass von einem USB Stick automatisch nach dem einstecken ...

SAN, NAS, DAS
Hilfe beim Einrichten eines Storages (SAN)
gelöst Frage von Vader666SAN, NAS, DAS15 Kommentare

Hallo Admins! Ich bin in einer kleineren Firma und hatte bisher mit dem Thema SAN nur in meiner Ausbildung ...