Anhand einer Excelliste nach Dateien auf Server suchen und verschieben

Mitglied: xsto123

xsto123 (Level 1) - Jetzt verbinden

08.04.2016 um 15:27 Uhr, 1167 Aufrufe, 11 Kommentare

Hallo,

ich habe ein etwas verzwicktes Problem. Und zwar suche ich nach einer Möglichkeit, Dateien anhand einer Excelliste auf einer Festplatte zu suchen und in einen Ordner zu kopieren. Ich weiß nicht, ob so etwas überhaupt möglich ist, daher erst mal grundsätzlich die Frage.

Konkret geht es darum, dass ich in einer Excelliste ca. 5.000 Artikelnummern habe (z.B. "123456"). Auf unserem Server wiederrum liegen Bilder mit diesen Artikelnummern als Dateiname (allerdings verstreut in hunderten Ordnern und leider hängt an der Artikelnummer auch manchmal noch ein Zusatz (z.B. "123456-blabla.psd").

Ich suche nun nach einer einfachen Möglichkeit, die Festplatte anhand der Excelliste zu durchsuchen und wenn ein entsprechendes Bild gefunden wird, soll es in einen Ordner kopiert werden, sodass ich alle Bilder zusammen habe. Außerdem müsste dann natürlich noch in der Excelliste ein "OK" hinter die entsprechende Artikelnr. geschrieben werden, wenn ein Bild gefunden wurde.

Erschwerend kommt hinzu, dass es sowohl "123456.psd" als auch "123456.tiff" oder "123456.jpg" geben kann, wobei ich genau in dieser Reihenfolge die Priorität hätte. Heißt also, wenn ein psd gefunden wird, soll er dieses kopieren, wenn nicht dann das tiff und wenn das auch nicht, dann das jpg.

Ist sowas überhaupt machbar?

Vielen Dank bereits im Voraus und ein schönes Wochenende!

(sorry falls die Frage im falschen Unterforum ist, bitte ggf. verschieben)
Mitglied: 114757
114757 (Level 4)
08.04.2016, aktualisiert um 17:59 Uhr
Ist sowas überhaupt machbar?
Ja das ist es.

Gruß jodel
Bitte warten ..
Mitglied: xsto123
08.04.2016 um 17:15 Uhr
Wäre super, wenn noch jemand etwas Konstruktives beizutragen hätte. Ich habe bewusst (noch) nach keinem "fertigen Script" für mein Problem gefragt, aber ein wenig mehr Infos als "Ja" hätte ich mir schon erhofft, denn sehr viel schlauer als zuvor bin ich jetzt auch nicht.

Daher danke an alle, die konstruktiv helfen können.
Bitte warten ..
Mitglied: 114757
114757 (Level 4)
08.04.2016, aktualisiert um 17:47 Uhr
Naja wenn du oben schreibst
Ich weiß nicht, ob so etwas überhaupt möglich ist, daher erst mal grundsätzlich die Frage.
habe ich diese von dir "grundsätzliche" Frage eindeutig beantwortet!

Wenn du Code sehen willst dann schreib das doch gleich ;-) face-wink
Daher danke an alle, die konstruktiv helfen können.
Ich kann konstruktiv helfen wie du an meiner Vielzahl an Codebeispielen hier im Forum sehen kannst, aber hier weiß ja man ja noch nicht mal in welcher Programmier- bzw. Scriptsprache du arbeiten willst oder überhaupt Erfahrung hast :-( face-sad wenn du das in der allgemeinen Kategorie Entwicklung postest.
Wen ich dir hier jetzt bspw. was in C++ poste ist das bestimmt nicht nach deinem "Gusto".
Bitte warten ..
Mitglied: xsto123
08.04.2016, aktualisiert um 17:47 Uhr
Wenn du mir direkt Code liefern magst, dann gerne ;) Ich persönlich hätte das allerdings zu aufdringlich gefunden - ist aber vielleicht einfach meine Art zu fragen bzw. um etwas zu bitten.

Aber mal ernsthaft: Magst du mir nun konstruktiv weiterhelfen, gerne auch direkt mit einer handfesten Lösung? Ansonsten würde ich darum bitten, dass wir das Kommentieren in diesem Thread bitte lassen, bis mir jemand bei meinem Problem weiterhelfen kann. Ich bin nämlich immer noch nicht schlauer. Danke.
Bitte warten ..
Mitglied: 114757
114757 (Level 4)
08.04.2016, aktualisiert um 17:53 Uhr
Les doch mal bitte meinen letzten Kommentar zu Ende.

Ich kann helfen wenn ich weiß womit du programmieren/arbeiten willst.

Wenn ich hier jetzt was fertiges in Powershell poste und dann kommst, nö ich will das in Batch ... dann wäre das für die Tonne gewesen.

Zudem wäre interessant ob deine Excel-Liste eventuell eine CSV-Datei ist.

Gruß jodel32
Bitte warten ..
Mitglied: 114757
114757 (Level 4)
LÖSUNG 08.04.2016, aktualisiert 11.04.2016
Hier mal ein Beispiel mit Powershell:

Wenn du eine CSV-Datei in folgendem Format anlegst:
Kannst du mit diesem Powershell-Code deine Such und Kopieraktion durchführen:
Die CSV-Datei wird dann um eine Status-Spalte ergänzt so dass das CSV-File am Ende so aussieht

Gruß jodel32
Bitte warten ..
Mitglied: xsto123
08.04.2016 um 18:59 Uhr
Wollen will ich wie gesagt nichts. Ich kann nur fragen und darauf hoffen, dass mir jemand netterweise weiterhelfen kann/möchte. Ich stelle also keine Forderung. Falls du dich meinem Problem annimmst, bedanke ich mich natürlich recht herzlich bereits im Voraus.

Wirklich viel Erfahrung im Programmieren habe ich nicht, daher wäre eine relativ "simple" Lösung nicht schlecht. Ein Batch, dass ich rudimentär auf meine Bedürfnisse anpassen und dann einfach ausführen kann wäre natürlich nicht schlecht - wenn das funktioniert, was ich ja leider immer noch nicht genau weiß.

Ansonsten kann ich mit PHP noch am besten etwas anfangen. Ein XMPP Server läuft bereits auf einem lokalen PC, der auf den Server mit den Bildern zugreift. Ein PHP Script könnte ich also ausführen.

Das mit der Excel ist eine gute Frage. Da müsste ich am Montag am Arbeitsplatz nachschauen, falls das einen großen Unterschied macht.
Bitte warten ..
Mitglied: xsto123
08.04.2016 um 19:11 Uhr
Jetzt haben sich unsere Beiträge zeitlich überschnitten.
--
Vielen Dank, das sieht ziemlich gut und gar nicht so kompliziert aus. Mit Powershell habe ich zwar absolut keine Erfahrung, aber um das Script auszuführen werden wohl ein paar Minuten Google reichen. ;) (Außer du magst mir die Basics noch kurz dazu erläutern, was benötige ich, wie führe ich das Script aus?)

Ich werde das direkt am Montag ausprobieren und mich ggf. nochmals melden.

Danke
Bitte warten ..
Mitglied: xsto123
11.04.2016 um 08:30 Uhr
Hallo,

also ich habe das heute morgen direkt ausprobiert, leider funktioniert das Script nicht.
Ich kenne mich mit Powershell nicht aus, daher gehe ich davon aus, dass der Fehler bei mir liegt. Als erstes habe ich die Pfade angepasst und die CSV-Datei erstellt (Testdateien). Danach habe ich das Script als .ps1 Datei abgespeichert und die ExecutionPolicy auf "Unrestricted" gesetzt. Wenn ich das Script jetzt allerdings per PowerShell ISE ausführen will, erscheint einfach nur "Fehler" links unten.

Habe ich etwas falsch gemacht?
Bitte warten ..
Mitglied: 114757
114757 (Level 4)
11.04.2016, aktualisiert um 09:23 Uhr
Zitat von @xsto123:
also ich habe das heute morgen direkt ausprobiert, leider funktioniert das Script nicht.
Doch :-) face-smile
Ich kenne mich mit Powershell nicht aus, daher gehe ich davon aus, dass der Fehler bei mir liegt.
Jupp.
Als erstes habe ich die Pfade angepasst und die CSV-Datei erstellt (Testdateien). Danach habe ich das Script als .ps1 Datei abgespeichert und die ExecutionPolicy auf "Unrestricted" gesetzt. Wenn ich das Script jetzt allerdings per PowerShell ISE ausführen will, erscheint einfach nur "Fehler" links unten.
Und welche Fehlermeldung genau ????
Habe ich etwas falsch gemacht?
Meine Glaskugel sagt: Wahrscheinlich einfach eine zu alte Powershellversion benutzt! Mindestens PS3.0 solltest du haben.
Ein $psversiontable in der Konsole sagts dir ...
Dafür habe ich ja extra Zeile 10 eingebaut die das überprüft und es dir ausgibt wenn es so ist.
Bitte warten ..
Mitglied: xsto123
11.04.2016 um 09:51 Uhr
Meine Glaskugel sagt: Wahrscheinlich einfach eine zu alte Powershellversion benutzt! Mindestens PS3.0 solltest du haben.

Eine Fehlermeldung wurde zwar nicht ausgegeben, aber daran lag es. Danke.
Bitte warten ..
Heiß diskutierte Inhalte
Off Topic
Wie sieht eine korrekte IT-Organisation aus?
imebroVor 1 TagFrageOff Topic20 Kommentare

Hallo, da unser IT-Verantwortlicher ja vor einem Jahr gehen musste, stelle ich mir die Frage, wie denn eine korrekte IT-Organisation überhaupt aussehen muss. Zur ...

Server-Hardware
Mini-PC oder Server für Dauerbetrieb
Surfer12Vor 1 TagFrageServer-Hardware20 Kommentare

Hallo zusammen, wir projektieren gerade eine neue Zutrittslösung für ein kleines Hotel mit ca. 20 Zimmern. Die Gäste sollen in Zukunft einen SelfCheckIn machen ...

LAN, WAN, Wireless
Cat 7 Patchkabel mit nur 11MBits im Download
gelöst RickHHVor 1 TagFrageLAN, WAN, Wireless7 Kommentare

Moin zusammen, ich habe mir soeben ein paar Patchkabel (aus einem Cat 7 Kabel) fertig gemacht. Die Belegung ist: 1 weiß/grün 2 grün 3 weiß/orange 4 blau 5 weiß/blau ...

Firewall
Windows Defender dauerhaft deaktivieren
Frankie222Vor 1 TagFrageFirewall9 Kommentare

Hallo, ich wollte mal fragen ob jemand weiss wie man bei Windows 10 Home den kompletten Schutz deaktiviert. Den Defender und alles! Ich habe ...

Notebook & Zubehör
Funktionieren keine USB-DVD-RW an Surfaces?
StefanKittelVor 1 TagFrageNotebook & Zubehör14 Kommentare

Hallo, ein Kunde von mir hat ein Surface Pro. Wenn er ein USB-DVD-RW-Laufwerk an die Dockingstation anschliesst funktioniert es nicht. - Es bekommt Strom ...

Batch & Shell
Umwandeln einer Dezimalzahl in eine Binärzahl
BadBatchCoderVor 1 TagAnleitungBatch & Shell4 Kommentare

Hey, ich habe ein fertiges Skript für die Umwandlung einer Dezimalzahl in einer binäre Zahl. Zurzeit kann man damit Zahlen von bis 65535 ...

Windows 10
Windows 10 20HS SCCM
stoepsu77Vor 1 TagFrageWindows 1014 Kommentare

Hallo zusammen Ich hoffe, dass jemand von euch mir eine weitere Idee geben kann. Ich habe keine Ideen mehr. Folgendes: Wir haben eine Tasksequenz ...

SAN, NAS, DAS
NAS mit Backup Funktion gesucht
YellowcakeVor 1 TagFrageSAN, NAS, DAS8 Kommentare

Hallo zusammen ich bin total unerfahren was diese NAS Systeme angeht die man sich zuhause hinstellen kann. Aktuell habe ich einen kleinen Server hier ...