Windows, Linux

So geben Sie große Dateibestände als Liste aus

Freitag den 20.04.2012 um 09:33 Uhr

von Stephan Mayer

Große Datenbestände – etwa die Musiksammlung – als Dateiliste auszugeben, stellt angesichts der bei fleißigen Sammlern ungeheuren Datenmenge eine echte Herausforderung dar.

Microsoft hat dazu eine Lösung veröffentlicht, die das per Rechtsklick auf das gewünschte Verzeichnis im Windows-Explorer ermöglicht. Unter  einer Microsoft-Seite findet man diese Lösung und zugleich ein unter allen gängigen Windows-Versionen funktionierendes Fix-It – einen Button, den man anklickt, um die nötigen Dateien automatisch an die richtige Stelle zu kopieren und die korrekten Einstellungen am System vorzunehmen.

Wenn man sich die Anleitung der manuellen Installation durchliest, kommt man schnell auf die Idee, diesen Button zu benutzen: Niemand fuhrwerkt freiwillig in der Registry herum und riskiert dabei einen Totalschaden des Systems, nur weil man sich im Registry-Baum den falschen Ast herausgesucht hat. Die Lösung von Microsoft hat eine Schwachstelle, die man von Hand beheben muss: Die Dateien von Verzeichnissen werden zwar ausgedruckt, nicht aber die Dateien in den darunter befindlichen Unterverzeichnissen. Der Aufwand unter Linux ist ungleich geringer, wenn man davon ausgeht, dass man die Musikstücke nach einzelnen CDs in Unterverzeichnissen sortiert hat. Ein Dreizeiler und ein Cron-Job sorgen für eine stets aktuelle Dateiliste.

So geht’s: Unter Windows starten Sie auf der oben genannten Website die Fix-It-Installation durch einen Klick auf den Button und bestätigen danach die Installation, indem Sie erst „Ausführen“ und dann OK anklicken. Die folgende Sicherheitsabfrage bestätigen Sie ebenfalls mit OK und starten anschließend den PC neu. Wenn Sie nun im Windows-Explorer ein Verzeichnis rechts anklicken, finden Sie den neuen Eintrag „Print Directory Listing“. Wenn Sie diesen anklicken, wird die Dateiliste auf dem Standarddrucker ausgegeben. Sollen auch noch die Unterverzeichnisse durchforstet und ausgegeben werden, öffnen Sie als Administrator den Editor und darin die Datei printdir.bat im Windows-Verzeichnis.

Print Directory Listing – obwohl der neue
englischsprachige Befehl kaum zur deutschen Windows-Version passt,
ist dieser extrem praktisch.
Vergrößern Print Directory Listing – obwohl der neue englischsprachige Befehl kaum zur deutschen Windows-Version passt, ist dieser extrem praktisch.

In der zweiten Zeile („dir …“) fügen Sie nach „dir“ noch /s ein und speichern die Datei. Aber Vorsicht: Wenn Ihr Standarddrucker die Liste auf Papier ausgibt, benötigt er mit dieser Einstellung allein für das Windows-Verzeichnis von Windows XP rund 300 Blatt Papier. Deshalb ist die Umstellung des Standarddruckers auf ein Programm wie PDF Creator sinnvoll: Dieser „Drucker“ gibt die Liste als Datei aus, sodass sie dann als PDF vorliegt.

12 Shell-Erweiterungen, die jeder braucht

Unter Linux brauchen Sie für die Ausgabe der Liste ein Script (und einen Cron-Job, wenn die Liste regelmäßig erzeugt werden soll). Öffnen Sie in Ihrem Lieblingseditor die neue Datei /home/<IhrBenutzername>bin/printdir.sh und fügen Sie folgende Zeilen ein:
#!/bin/sh cd /pfad/zu/den/Dateien ls -lhR >filelist.txt && grep „/“ filelist.txt >kurze_filelist, txt && rm filelist.txt „/pfad/zu/den/Dateien“ müssen Sie an Ihre Wünsche und Verzeichnisstruktur anpassen; das abschließende „rm filelist.txt“ können Sie weglassen, wenn Sie nicht nur die übersichtlichere Liste mit den CD-Titeln ausgeben wollen, sondern auch eine ausführliche mit allen Musikstücken. Schließlich müssen Sie noch im Terminal den Befehl chmod 755 printdir.sh im Verzeichnis bin Ihres Home-Directorys eingeben, um das Script ausführbar zu machen. Soll diese Liste regelmäßig erzeugt werden, bietet es sich an, dass Sie dies auf einem Fileserver, der ohnehin durchläuft, in der Nacht erledigen lassen:

Geben Sie dazu in einem Terminal folgenden Befehl ein:
crontab –e
Hier fügen Sie diese Zeile ein:
0 0 * * * / home/ <IhrBenutzername>/bin/printdir.sh #Das printdir.sh um 0 Uhr

Wenn Sie nun die Datei speichern und den Editor schließen, wird dieser Befehl jede Nacht um null Uhr ausgeführt. Natürlich können Sie die Dateilisten auch in dem Verzeichnis anlegen, in dem Sie Ihre eigenen HTML-Seiten ablegen (unter OpenSUSE ist dies
/home/<Benutzername>/public_html>, sodass sie per Browser abrufbar sind. Dazu müssen Sie in der Datei printdir.sh filelist.txt und kurze_filelist.txt um den Pfad zu diesem Verzeichnis ergänzen, sodass die Dateien hier erzeugt werden und per Browser abrufbar sind.

Freitag den 20.04.2012 um 09:33 Uhr

von Stephan Mayer

1399875