automatisches erstellen v. verzeichnissen

H

homunkulus

Aktives Mitglied
Thread Starter
Dabei seit
29.04.2005
Beiträge
153
Reaktionspunkte
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
 
Zuletzt bearbeitet von einem Moderator:
Ja, mit einem Shell-Skript.
 
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.
 
super

vielen vielen dank, werde ich gleich mals ausprobieren
 
noch eine frage

wo muss ich denn das script eingeben ?
arbeite noch nicht lange mit dem mac
im automator?
 
homunkulus schrieb:
wo muss ich denn das script eingeben ?
arbeite noch nicht lange mit dem mac
im automator?
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?
 
eigentlich nicht

eigentlich nicht
 
homunkulus schrieb:
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.
 
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 schrieb:
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
Danke fürs Popcorn. :D

Na ich hoffe bloß das er nix falsch gemacht hat, da er sich nicht mehr meldet. :(
Hab das Skript selbst getestet und bei mir ging's einwandfrei.


Das Terminal ist manchmal ganz nützlich und es ist eigendlich nicht schlecht die Grundfunktionen usw. zu kennen.
In den meisten Bücher über OS X ist auch immer ein kleiner Teil über die Kommandozeilen drin, kann man nur weiterempfehlen.
Oder such doch mal im Internet nach Terminal für Anfänger, findest sicher eine Menge.
Es sieht vielleicht schwer aus, ist es aber im Grunde nicht. Also ran an das Ding. ;)
 
codes & zahlen und ich – zwei welten prallen aufeinander. :D
ich bin grafiker, also eher der augenmensch statt nüchterner kalkulator.
trotzdem danke für den tipp. vielleicht packt mich ja mal das terminal-fieber.
gruß, al
 
hat gestern abend noch ein date

sorry, momentan auf arbeit, werde heute nachmittag alles ausprobieren.
werde mich nochmal melden
gruss homunkulus
 
Zurück
Oben Unten