spezielle Dateien zählen - plugin gesucht
Moderators: Hacker, Stefan2, white
spezielle Dateien zählen - plugin gesucht
Guten Tag zusammen,
ich brauch mal wieder Eure Hilfe.....
In mehreren Verzeichnissen habe ich alle möglichen Dateien gemischt.
Bilder, PDFs, Texte, etc.
Ich benötige ein Plugin, welches mit z.B. über die Mehrfachumbenennfunktion die Anzahl der Textdateien zählt, und ausgibt.
Alle anderen Dateien sollen dabei ignoriert werden.
Über DirSizeCalc kann ich ja Dateien in Verzeichnissen zählen, aber leider nicht angeben, welche Dateien gezählt werden sollen.
Kennt jemand so ein Plugin, oder eine andere Lösung ?
Danke im Voraus
Rüdiger
ich brauch mal wieder Eure Hilfe.....
In mehreren Verzeichnissen habe ich alle möglichen Dateien gemischt.
Bilder, PDFs, Texte, etc.
Ich benötige ein Plugin, welches mit z.B. über die Mehrfachumbenennfunktion die Anzahl der Textdateien zählt, und ausgibt.
Alle anderen Dateien sollen dabei ignoriert werden.
Über DirSizeCalc kann ich ja Dateien in Verzeichnissen zählen, aber leider nicht angeben, welche Dateien gezählt werden sollen.
Kennt jemand so ein Plugin, oder eine andere Lösung ?
Danke im Voraus
Rüdiger
Count extensions recursive
Powershell:
.
Code: Select all
PS C:\TEMP> ls -recurse | where{ $_.Extension -eq ".txt" } | group Extension -NoElement
Count Name
----- ----
480 .txt
PS C:\TEMP>
Code: Select all
PS C:\TEMP> ls -recurse | group Extension -NoElement
Count Name
----- ----
480 .txt
2 .docx
1 .7z
12 .xls
73 .pdf
17 .ini
6 .xml
85 .doc
7 .html
30 .vbs
119 .png
1 .lng
3 .ahk
3 .mdb
12 .reg
11 .cmd
.... ;-)
PS C:\TEMP> -- alternative :
PS C:\TEMP> ls -recurse | group Extension -NoElement | sort name -desc
PS C:\TEMP> ls -recurse | group Extension -NoElement | sort count
.
ehhhm ja..... jetzt müßte man nur noch verstehen wie das anzuwenden ist...
Ich beschreibe mein Anliegen dann mal detaillierter:
- Ich wähle alle ca 800 Verzeichnisse aus und starte dann das MUT.
- In die Dateinamemaske schreibe ich "[=dirsizecalc.Dateianzahl]%[N]"
Das Plugin "DirSizeCalc" zählt jetzt alle Dateien im jeweiligen Verzeichnis und gibt dann aus: Anzahl%Verzeichnisname.
Bei Suchen und Ersetzen gebe ich jetzt ein:
suchen nach: (.*)%(.*)
Ersetzen durch: $1\\$2
Dadurch verschiebe ich alle Verzeichnisse mit z.B. 5 Dateien in ein Verzeichnis namens "5", ein Verzeichnis mit 12 Dateien in ein Verzeichnis namens "12", usw....
Soweit ist das genau die Funktion die ich brauche.
Allerdings dürften nicht alle Dateien gezählt werden, sondern nur die Anzahl der enthaltenen *.txt-Dateien.
Puh..... Beschreiben ist schwer....

Ich beschreibe mein Anliegen dann mal detaillierter:
- Ich wähle alle ca 800 Verzeichnisse aus und starte dann das MUT.
- In die Dateinamemaske schreibe ich "[=dirsizecalc.Dateianzahl]%[N]"
Das Plugin "DirSizeCalc" zählt jetzt alle Dateien im jeweiligen Verzeichnis und gibt dann aus: Anzahl%Verzeichnisname.
Bei Suchen und Ersetzen gebe ich jetzt ein:
suchen nach: (.*)%(.*)
Ersetzen durch: $1\\$2
Dadurch verschiebe ich alle Verzeichnisse mit z.B. 5 Dateien in ein Verzeichnis namens "5", ein Verzeichnis mit 12 Dateien in ein Verzeichnis namens "12", usw....
Soweit ist das genau die Funktion die ich brauche.
Allerdings dürften nicht alle Dateien gezählt werden, sondern nur die Anzahl der enthaltenen *.txt-Dateien.
Puh..... Beschreiben ist schwer....

Dies kann man mit dem Script Content Plugin bewerkstelligen.
Ein neues "countfiles.vbs" oä anlegen:
und in der "script.ini" aktivieren:
Diese Version ist nicht rekursiv, dh sie schaut nicht in Unterverzeichnisse.
Hier die rekursive Variante:
Dies wurde kurzfristig hingekrakelt, bitte ausführlich testen vor Anwendung am lebenden Objekt!
Ein neues "countfiles.vbs" oä anlegen:
Code: Select all
content = ""
fileExt = ".txt"
Dim fso, fldr, file, fc, c
Set fso = CreateObject("Scripting.FileSystemObject")
If fso.FolderExists(filename) Then
Set fldr = fso.GetFolder(filename)
Set fcol = fldr.Files
For Each file in fcol
If lcase(right(file.name, 4)) = lcase(fileExt) Then
c = c + 1
End If
Next
content = c
Else
content = "No Dir"
End If
set fldr = nothing
set fso = nothing
Code: Select all
[Script]
Section=CountFiles
[CountFiles]
Script=countfiles.vbs
ParseDirs=1
Hier die rekursive Variante:
Code: Select all
'Debug Stuff:
'filename="c:\Temp\_TestFiles2\F1"
content = ""
fileExt = ".txt"
Dim fso, fldr, subfolder, totalCount
Set fso = CreateObject("Scripting.FileSystemObject")
totalCount = 0
If fso.FolderExists(filename) Then
CountFilesInSubFolders(filename)
content = totalCount
Else
content = "No Dir"
End If
set fldr = nothing
set fso = nothing
'Debug Stuff:
'MsgBox "TotalCount: " & vbCR & content
Function CountFilesInSubFolders(prmFolder)
Set fldr = fso.GetFolder(prmFolder)
'Count Files
Set fcol = fldr.Files
For Each file in fcol
If lcase(right(file.name, 4)) = lcase(fileExt) Then
totalCount = totalCount + 1
End If
Next
'RECURSE
Set fldrcol = fldr.SubFolders
For Each subfolder in fldrcol
CountFilesInSubFolders(subfolder.Path)
Next
End Function
Hallo frogtie,
dafür kämen das Plugin FileMask oder das Script CountExt.vbs für das Script Content Plugin in Frage.
Details siehe hier:
http://www.ghisler.ch/board/viewtopic.php?p=266569#266569
und hier:
http://www.ghisler.ch/board/viewtopic.php?p=271541#271541
dafür kämen das Plugin FileMask oder das Script CountExt.vbs für das Script Content Plugin in Frage.
Details siehe hier:
http://www.ghisler.ch/board/viewtopic.php?p=266569#266569
und hier:
http://www.ghisler.ch/board/viewtopic.php?p=271541#271541