Dateien von Ordner A nach Ordner B kopieren nach CSV-Vorlage

Diskutiere mit über: Dateien von Ordner A nach Ordner B kopieren nach CSV-Vorlage im Andere Forum

  1. corehead

    corehead Thread Starter MacUser Mitglied

    Beiträge:
    1
    Zustimmungen:
    0
    Registriert seit:
    01.12.2004
    Hallo zusammen, vielleicht kann mir jemand helfen. Wie der Titel schon sagt, suche ich eine Möglichkeit (Software/Script), um Dateien von Ort A nach Ort B zu transferieren, ohne jede Datei von Hand zu verschieben.

    Ich habe einen Ordner mit mehreren tausend Produktbildern, hin und wieder möchten Kollegen mehrere Dutzend, teilweise auch mehrere hundert Bilder haben. Da wir keine Datenbank oder ähnliches haben, muss das dann von Hand erledigt werden. Die Anforderungen kommen aber meistens in Excel, von daher liegen die Art-Nr. schon digital vor. Die Bezeichung der Bilddateien stimmt mit der Art-Nr. überein, insofern ist die Basis schon vorhanden.

    Jetzt fehlt nur ein kleines Programm, bei dem ich Quell- (evtl. inkl. Subfolders) und Zielordner definiere, die CSV-Datei auswähle und auf START drücke. Falls jemand ein kommerzielles Tool kennt, das solches zu tun vermag, bitte auch melden. Nur eine Individualprogrammierung kommt wg. der Kosten nicht in Frage, aber vielleicht entschließt sich ja jemand, so etwas als Shareware zu erstellen.

    Für eine rege Teilnahme danke ich im voraus
    Jörg
     
  2. olbea

    olbea MacUser Mitglied

    Beiträge:
    900
    Zustimmungen:
    24
    Registriert seit:
    02.07.2004
    Laß mich mal nachdenken (ich habe noch keinen Mac, aber es ist ja ein "unix")
    Ich kann mir aber vorstellen, dass in einer Shell (DOS-Box) es nach folgendem shema funktionieren können...
    "> more namederdatei.csv | cp /zielverzeichnis"
    # bin mir aber nicht ganz sicher, da ich gerade mein linux nicht zur hand habe!!!!
    das "|" zeichen übergibt die ausgabe an den darauffolgenden befehl.
    Kann einer genaueres sagen?
    Vielleicht muß vorher noch ein "find" laufen.

    Gruß
    Oliver
     
    Zuletzt bearbeitet: 01.12.2004
  3. svenloth

    svenloth MacUser Mitglied

    Beiträge:
    167
    Zustimmungen:
    0
    Registriert seit:
    17.09.2004
    Ich würde das in nem Shellscript machen.

    Hier sowas in der Art:

    Code:
    #!/bin/bash
    
    WD=`pwd`
    
    KEYFILE=$1
    shift
    
    FROMDIR=$1
    shift
    
    KEYS=`cat $KEYFILE | awk ' BEGIN { FS=";" } { print $1 } '`
    
    for KEY in $KEYS
        do
        
            unset FILES
            unset NEWDIR
            
            NEWDIR=$KEY
    
            FILES=`ls $FROMDIR/*$KEY*`
    
            for FILE in $FILES
                do
                
                    if [ ! -e $WD/$NEWDIR ] 
                        then
                            echo "Verzeichnis $NEWDIR existiert nicht. Erstelle $WD/$NEWDIR"
                            mkdir $WD/$NEWDIR
                    fi
                    
                    echo "Kopiere $FILE nach $WD/$NEWDIR"
                    cp $FILE $WD/$NEWDIR
            done
    done
    
    exit
    Einfach den Code in einer Datei kopieren (ich hab sie copyByKey.sh genannt). Danach ein "chmod 700 dateiname" ausführen.

    Du kannst das Script dann folgendermaßen aufrufen:

    copyByKey keyfile /Quellverzeichnis

    Das Script liest dann erst das Keyfile, in dem in der ersten Spalte die Werte als Keys gespeichert werden.

    Dann sucht das Script sich alle Files deren Dateinamen den Key enthält. Legt da wo man gerade ist ein Unterverzeichnis (mit Key als namen) an und kopiert alle gefunden Files dort rein.

    Im Keyfile sollte deine Projektnummer immer in der ersten Spalte stehen. Ansonsten musst du in der Zeile "KEYS=`cat $KEYFILE | awk ' BEGIN { FS=";" } { print $1 } '`" aus dem "$1" ein "$nummerderspalte" machen, also $2,$3,$10 oder so. Als Spaltentrenner wird ein ";" erwartet.

    Achtung! Das funktioniert nicht, wenn der Dateiname Leerzeichen enthält!
     
    Zuletzt bearbeitet: 01.12.2004
  4. svenloth

    svenloth MacUser Mitglied

    Beiträge:
    167
    Zustimmungen:
    0
    Registriert seit:
    17.09.2004
    ...........
     
    Zuletzt bearbeitet: 01.12.2004
  5. olbea

    olbea MacUser Mitglied

    Beiträge:
    900
    Zustimmungen:
    24
    Registriert seit:
    02.07.2004
    Schön... (das script)
    Ich hoffe es hilft..
     
Die Seite wird geladen...

Diese Seite empfehlen

Benutzerdefinierte Suche