automatisches erstellen v. verzeichnissen

  1. homunkulus

    homunkulus Thread StarterMacUser Mitglied

    Mitglied seit:
    29.04.2005
    Beiträge:
    151
    Zustimmungen:
    0
    hallo,
    ich müsste ca. 1500 verzeichnisse auf meiner festplatte erstellen. jedes dieser unterschiedlichen verzeichnisse soll 7 gleiche unterverzeichnisse enthalten.
    kann man dies irgendwie automatisieren? die 1500 dateinamen habe ich bereits in einer textdatei gespeichert. wäre es nun möglich diese auszulesen, das entsprechende verzeichniss anzulegen und zusätzlich noch die 7 gleichen unterverzeichnisse ?
    geht das über den automator? oder existiert noch eine andere möglichkeit?
    vielen dank im voraus
    homunkulus
     
    homunkulus, 13.12.2005
  2. TerminalX

    TerminalXMacUser Mitglied

    Mitglied seit:
    12.01.2004
    Beiträge:
    1.798
    Zustimmungen:
    108
    TerminalX, 13.12.2005
  3. Wile E.

    Wile E.MacUser Mitglied

    Mitglied seit:
    09.03.2005
    Beiträge:
    1.864
    Zustimmungen:
    4
    Ja, mit einem Shell-Skript.
     
    Wile E., 13.12.2005
  4. TerminalX

    TerminalXMacUser Mitglied

    Mitglied seit:
    12.01.2004
    Beiträge:
    1.798
    Zustimmungen:
    108
    Hab mal ein kleines Perl Skript gebastelt. Hier ist der Code:

    Code:
    #!/usr/bin/perl -w
    
    use strict;
    
    my $ziel_stelle = "";
    my $verzeichnis_namen_datei = "";
    
    chdir "$ziel_stelle" or die "Couldn't change to the $ziel_stelle folder: $!";
    
    open VERZEICHNIS_NAMEN, "<$verzeichnis_namen_datei" or die "Couldn't open $verzeichnis_namen_datei: $!";
    chomp(my @verzeichniss_namen=<VERZEICHNIS_NAMEN>);
    close(VERZEICHNIS_NAMEN);
    
    
    foreach my $name(@verzeichniss_namen) {
        mkdir "$name", oct("0755");
        chdir "./$name" or die "Couldn't change to the $name folder: $!";
        &verzeichnisse_erstellen("", "");
        chdir "./.." or die "Couldn't change the folder: $!";
    }
    
    sub verzeichnisse_erstellen {
        my @namen = @_;
        foreach my $name (@namen) {
            mkdir "$name", oct("0755");
        }
    }
    Wie es funktioniert:

    Code:
    my $ziel_stelle = "";
    Hier muss du zwischen den "", den ganzen Pfad des Ordners reinschreiben, wo die anderen Ordner erstellt werden sollen.


    Code:
    my $verzeichnis_namen_datei = "";
    Hier schreibst du den ganzen Pfad zur Datei mit den Namen. Die Namen dürfen keine Sonderzeichen beinhalten, auch keine Umlaute usw.


    Code:
    &verzeichnisse_erstellen("", "");
    Hier schreibst du die Namen der Ordner hinein die du innerhalb der anderen Ordner erstellen möchtest und die überall gleich sein sollen.
    z.B. du möchtest überall 2 Verzeichnisse mit den Namen Test und Aufgabe, dann schreibst du &verzeichnisse_erstellen("Test", "Aufgabe");.
    es muss zwischen jeden "" ein Komma stehen:
    ("" , "" , "", "")


    Code:
    mkdir "$name", oct("0755");
    Diese Zeile befindet sich 2 mal im Skript. "0755" sind die Rechte die jeder Ordner bekommt, du kanns sie nach deinen Wünschen ändern.

    0755:
    Besiter der Ordner: Schreib- & Leserechte und er kann Dateien ausführen oder bei Ordnern darin suchen.
    Groupenmitglieder & Andere: Lese- & Suchrecht

    Für weitere Informationen: man chmod im Terminal

    Jetzt muss du nur noch das Skript abspeichern und im Terminal folgenden Befehl ausführen:

    chomd a+x Skript

    Skript muss natürlich der Pfad zum Skript sein. :)

    Danach kanns du das Skript im Terminal ausführen.

    Noch eine kleine Hilfe:
    Wenn du den ganzen Pfad von einer Datei/Ordner wissen möchtest, dann zieh ihn einfach in das Terminal, dann kommt dort der ganze Pfad stehen und du brauchst ihn nur noch zu kopieren.
     
    TerminalX, 13.12.2005
  5. homunkulus

    homunkulus Thread StarterMacUser Mitglied

    Mitglied seit:
    29.04.2005
    Beiträge:
    151
    Zustimmungen:
    0
    super

    vielen vielen dank, werde ich gleich mals ausprobieren
     
    homunkulus, 13.12.2005
  6. homunkulus

    homunkulus Thread StarterMacUser Mitglied

    Mitglied seit:
    29.04.2005
    Beiträge:
    151
    Zustimmungen:
    0
    noch eine frage

    wo muss ich denn das script eingeben ?
    arbeite noch nicht lange mit dem mac
    im automator?
     
    homunkulus, 13.12.2005
  7. TerminalX

    TerminalXMacUser Mitglied

    Mitglied seit:
    12.01.2004
    Beiträge:
    1.798
    Zustimmungen:
    108
    In einem normalen Texteditor. Verwende aber nicht den TextEdit.

    Nimm z.B. SubEthaEdit.
    Dann änderst du die paar Zeilen und speicherst es mit der Endung .plx oder .pl ab. (Muss man nicht machen, doch wird meistens gemacht um zu zeigen, dass es sich um ein Perl-Skript handelt)


    Eine Frage: Hast du schon einmal mit dem Terminal gearbeitet?
     
    TerminalX, 13.12.2005
  8. homunkulus

    homunkulus Thread StarterMacUser Mitglied

    Mitglied seit:
    29.04.2005
    Beiträge:
    151
    Zustimmungen:
    0
    eigentlich nicht

    eigentlich nicht
     
    homunkulus, 13.12.2005
  9. TerminalX

    TerminalXMacUser Mitglied

    Mitglied seit:
    12.01.2004
    Beiträge:
    1.798
    Zustimmungen:
    108
    Uiui, na dann. Wenn du Fragen hast frag ruhig, z.B. wenn du bei einem bestimmten Schritt nicht genau weißt was du machen musst. :)

    Das Terminal findest du übrigens unter Programme->Dienstprogramme.
     
    TerminalX, 13.12.2005
  10. Al Terego

    Al TeregoMacUser Mitglied

    Mitglied seit:
    02.03.2004
    Beiträge:
    4.833
    Zustimmungen:
    342
    he leute, mal am rande:
    superhilfestellung und macuser-support. ich lese gerade mit und bin gespannt wie’s weitergeht. habe das terminal nämlich auch noch nie angefasst sondern eher misstrauisch beäugt.
    also: popcorn für alle :D
    besten gruß, al
     
    Al Terego, 13.12.2005
Die Seite wird geladen...
Ähnliche Themen - automatisches erstellen verzeichnissen
  1. Sickno
    Antworten:
    3
    Aufrufe:
    165
  2. DH1986
    Antworten:
    13
    Aufrufe:
    288
    StevenJob
    09.06.2017
  3. cstone
    Antworten:
    1
    Aufrufe:
    166
    masta k
    22.11.2016
  4. MoritzS
    Antworten:
    10
    Aufrufe:
    1.501
    MoritzS
    20.02.2016
  5. apfelmaennchen
    Antworten:
    0
    Aufrufe:
    154
    apfelmaennchen
    15.01.2016