Archiv verlassen und diese Seite im Standarddesign anzeigen : Dateien zählen mit konqueror
wenn ich auf einen ordner rechtsklicke und eigenschaften wähle zeigt er mir die größe an und wieviele ordner und dateien ich ausgewählt habe - nicht aber wieviele dateien/ordner drin sind und in unterverzeichnissen schlummern.
gibts da ne möglichkeit das rauszufinden?
bye far
Anzahl Files:
find . -type f | wc -l
Anzahl Dirs:
find . -type d | wc -l
cool
gibts das auch für den konqueror ?
far
Der erste Schritt:
// Hello World in C++ for the Qt framework
#include <qapplication.h>
#include <qlabel.h>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
QLabel l("Hello World!", 0);
l.setCaption("Test");
l.setAlignment(Qt::AlignCenter);
l.resize(300, 200);
a.setMainWidget(&l);
l.show();
return(a.exec());
}
Du könntest das find oben in ein Skript packen, und es mit einem Eintrag zum konqui Kontextmenü hinzufügen. Wie das geht, steht hier:
http://developer.kde.org/documentation/tutorials/dot/servicemenus.html
HTH
Grüße fs111
mhh ziemlich coole Seite
Hello World kann ich schon coden :9
okay ich hab das kontextmenü erweitert - alles kein prob
die *.desktop Datei sieht so aus
[Desktop Entry]
ServiceTypes=inode/directory
Actions=showFileInfo
[Desktop Action showFileInfo]
Name=Ordnerinformationen anzeigen..
Icon=info
Exec=/bin/sh -c "find -type d|wc -l"
Er zeigt auch bei allen Ordnern den Eintrag an, aber im Gegensaz zu dem Wallpaperbeispiel passiert hier gar nix wenn ich den Eintrag im Kontextmenü wähle
wenn ich Exec=aterm nehme öffnet er zumindest mal den aterm
Exec=find -type d|wc -l bringt auch keinen Erfolg
Ich könnte ja dann eigentlich ein Fenster coden, dass dann gestartet wird, aber erstmal sollte es so funken
bye far
Und ich hab noch ne Frage zu der Kontextmenüsache
Wenn ich Name="Öffne mit Gimp..." mache zeigt er das Ö nicht an.
far
Wie wäre es mit einer solchen exec: kdialog --msgbox "Files: `find -type d|wc -l`" ?
Bye
Thorsten
kdialog geht bei mir nicht mal in der konsole - muss man das erst installieren?
far
kann sein, dass kdialog nur unter suse geht - ich kreig das unter Redhat8 nicht installiert
edit: mhh das is glaub ich erst ab KDE 3.1 bei - hab nur 3.0 -dooof
bye far
aber gdialog hab ich drauf - kann mir mal einer sagen wie ichs da mache - ich krieg zwar ein msgbox auf, aber den Befehl nicht ausgeführt
thx far
Wie kann man kdialog und gdialog als root ausführen?
es gibt was mit passwordabfrage - kdesu - kenn mich aber nich mit aus
hey wie krieg ich gdialog dazu die ausgabe des Befehls anzuzeigen
gdialog -msgbox "Dateien: 'find -type d|wc -l'" 20 30
geht nicht
gdialog --msgbox "Test message" 200 150
also richtig abschreiben sollte man schon?
also ich hab jetzt folgendes
eine Datei namens showFileInfo.desktop in /usr/share/apps/konqueror/servicemenus
[Desktop Entry]
ServiceTypes=inode/directory
Actions=showFileInfo
[Desktop Action showFileInfo]
Name=Ordnerinformationen anzeigen...
Icon=info
Exec=count.sh
und eine ausführbare Datei namens count.sh in /usr/bin
#/bin/bash
a=`find -type d|wc -l`
gdialog --title "Info" --msgbox "$a Dateien" 200 400
exit
Wenn ich jetzt im terminal count.sh aufrufe - macht er ne box auf in der die anzahl der dateien in dem Verzeichnis steh
Klicke ich auf einen Ordner im konqueror und wähle meinen Menüpunkt "Ordnerinformation" dann geht auch ne Box auf und er zählt mit alle Dateien aus dem Verzeichnis /home/farion - egal wo ich mich befinde.
Wie kann ich dem script (count.sh) mitteilen wo er zählen soll?
bye far
Habs hier mit kdialog:
cat dir_info.desktop
[Desktop Entry]
ServiceTypes=inode/directory
Actions=showFileInfo
[Desktop Action showFileInfo]
Name=Ordnerinformationen anzeigen...
Icon=info
Exec=kdialog --title "Info" --msgbox "`echo %U;cd '%U';find -type f|wc -l` Dateien,
`cd '%U';find -type d|wc -l` Verzeichnisse" 200 400
Zeilenumbruch eliminieren!
Bye
Thorsten
Hallo schnebeck.
Das ist ja ne schöne Sache. Habe das auch mal versucht.
Wenn ich auf Ordneroptionen klicke, dann öffnet sich ein Fenster, mit folgendem Inhalt:
`echo %U;cd '%U';find -type f|wc -l` Dateien,`cd '%U';find -type d|wc -l`Verzeichnisse
Das einzigste Was passiert, %U wird durch das aktuelle Verzeichnis ersetzt.
Aber der Rest wird alles als "echo" aufgefasst.
Im Anhang habe ich noch einen Screenshot angefügt.
Bilder sprechen mehr als Worte. :D
Kannst du mir sagen, was ich da noch falsch gemacht habe!
THX.
Hmmm, gute Frage!
eigentlich sollte der Text zwischen ` und ` ausgeführt werden.
Was passiert denn, wenn du den Message-Txt (ohne " ") direkt in einer Shell ausführst?
%U wird da zwar nicht ersetzt, aber es geht ja nur um das Prinzip.
netmaster@linux:~> echo %U;cd '%U';find -type f|wc -l` Dateien,`cd '%U';find -type d|wc -l`Verzeichnisse
>
>
>
>
> ls
> pwd
> dir
>
>
netmaster@linux:~>
Keine Ahung was das ist. Hab es abegbrochen, dass ich wieder zurück komme. :ugly:
meine *.desktop sieht jetzt so aus
[Desktop Entry]
ServiceTypes=inode/directory
Actions=showFileInfo
[Desktop Action showFileInfo]
Name=Ordnerinformationen anzeigen...
Icon=info
Exec=gdialog --title "%U" --clear --infobox `cd %U && find -type f|wc -l`" Dateien und `cd %U && find -type d|wc -l` Verzeichnisse" 200 300
Und das kommt raus - is halt blöd, dass die größenangaben nix bringen und der titel einfach abgeschnitten wird.
far
@farion
Wenn ich dein Script nutze, da hab ich das gleiche Problem. :ugly:
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.