automatisches erstellen v. verzeichnissen

Diskutiere mit über: automatisches erstellen v. verzeichnissen im Mac OS X Forum

  1. homunkulus

    homunkulus Thread Starter MacUser Mitglied

    Beiträge:
    151
    Zustimmungen:
    0
    Registriert seit:
    29.04.2005
    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
     
  2. TerminalX

    TerminalX MacUser Mitglied

    Beiträge:
    1.800
    Zustimmungen:
    108
    Registriert seit:
    12.01.2004
    Zuletzt von einem Moderator bearbeitet: 14.12.2005
  3. Wile E.

    Wile E. MacUser Mitglied

    Beiträge:
    1.862
    Zustimmungen:
    4
    Registriert seit:
    09.03.2005
    Ja, mit einem Shell-Skript.
     
  4. TerminalX

    TerminalX MacUser Mitglied

    Beiträge:
    1.800
    Zustimmungen:
    108
    Registriert seit:
    12.01.2004
    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.
     
  5. homunkulus

    homunkulus Thread Starter MacUser Mitglied

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

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

    homunkulus Thread Starter MacUser Mitglied

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

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

    TerminalX MacUser Mitglied

    Beiträge:
    1.800
    Zustimmungen:
    108
    Registriert seit:
    12.01.2004
    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?
     
  8. homunkulus

    homunkulus Thread Starter MacUser Mitglied

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

    eigentlich nicht
     
  9. TerminalX

    TerminalX MacUser Mitglied

    Beiträge:
    1.800
    Zustimmungen:
    108
    Registriert seit:
    12.01.2004
    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.
     
  10. Al Terego

    Al Terego MacUser Mitglied

    Beiträge:
    4.832
    Zustimmungen:
    341
    Registriert seit:
    02.03.2004
    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
     
Die Seite wird geladen...

Diese Seite empfehlen

Benutzerdefinierte Suche