PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Dateien zählen mit konqueror



farion
29.04.03, 10:21
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

marcdevil
29.04.03, 10:23
Anzahl Files:
find . -type f | wc -l

Anzahl Dirs:
find . -type d | wc -l

farion
29.04.03, 10:24
cool
gibts das auch für den konqueror ?
far

marcdevil
29.04.03, 10:43
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());
}

fs111
29.04.03, 12:17
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

farion
30.04.03, 14:44
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

farion
30.04.03, 14:52
Und ich hab noch ne Frage zu der Kontextmenüsache

Wenn ich Name="Öffne mit Gimp..." mache zeigt er das Ö nicht an.

far

schnebeck
30.04.03, 15:08
Wie wäre es mit einer solchen exec: kdialog --msgbox "Files: `find -type d|wc -l`" ?

Bye

Thorsten

farion
30.04.03, 15:29
kdialog geht bei mir nicht mal in der konsole - muss man das erst installieren?

far

farion
30.04.03, 19:47
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

farion
30.04.03, 20:15
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

netmaster
30.04.03, 20:44
Wie kann man kdialog und gdialog als root ausführen?

farion
30.04.03, 20:49
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

dauni
30.04.03, 21:19
gdialog --msgbox "Test message" 200 150

also richtig abschreiben sollte man schon?

farion
30.04.03, 21:20
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

schnebeck
01.05.03, 00:52
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

netmaster
01.05.03, 08:31
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.

schnebeck
01.05.03, 09:50
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
01.05.03, 10:30
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:

farion
01.05.03, 10:50
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

netmaster
01.05.03, 11:50
@farion

Wenn ich dein Script nutze, da hab ich das gleiche Problem. :ugly: