Meldung bei bestimmter Ordnergröße

German support forum

Moderators: Hacker, Stefan2, white

Post Reply
User avatar
Fantin
Junior Member
Junior Member
Posts: 15
Joined: 2005-01-19, 13:10 UTC

Meldung bei bestimmter Ordnergröße

Post by *Fantin »

Hi!

Ich speichere meine Fotos auf der Festplatte und brenn sie dann auf DVD wenn es 4,2 GB sind.
Ist es möglich, dass TC mir eine Meldung gibt, wenn diese Ordnergröße erreicht ist?

Julius
User avatar
Stance
Power Member
Power Member
Posts: 1079
Joined: 2005-03-29, 06:26 UTC

Post by *Stance »

Hallo Fantin

Eine Meldung nicht, aber eine Farbänderung beim erreichen der Grösse!

Mit dem Plugin dirsizecalc werden Verzeichnisgrössen im Hintergrund berechnet und unter "Grösse" im Dateifenster angezeigt.
Im "Dateien -Suchen" -Dialog definiert man im Register "Plugins" einen neuen Suchfilter:
Eigenschaft: Verzeichnis -und auf "Mehr Regeln" klicken:
Dort im ersten Auswahlfeld "dirsizecalc" wählen (Also tc abwählen)
im Zweiten Auswahlfeld "Grösse (Hintergrund)" wählen, auf grösser als (>) setzen und die von Dir gewünschte Verzeichnisgrösse einstellen.
Unter "Allgemeines" das Laufwerk angeben, wo dein DVD-Image liegt.
Unter "Laden/Speichern" musst Du einen sinnvollen Namen für deinen Filter angeben:
zB DVD-Image brennen oder "Ordner: Grösser als X GByte"

Wenn kein Fehler vorliegt und Ordner mit dieser Grösse beim klick auf: "Suche starten" gefunden werden, kannst Du unter Konfiguration: Optionen/Farben den
Button: "Definiere Farben nach Dateityp" anklicken und deinen soeben definierten Filter auswählen und mit einer anderen Farbe versehen.
Du musst von nun an daran denken, die "Detailanzeige: Grösse (Hintergrund)" zB in mindestens einem Tab zu verwenden.
Wenn das Verzeichniss die Grösse erreicht hat, wird er in deiner gewählten Farbe angezeigt.

Deine bestehende Filter kannst Du im nachhinein noch verfeinern (Verzeichnisname, Attribute).

Grüsse
Stance
User avatar
van Dusen
Power Member
Power Member
Posts: 684
Joined: 2004-09-16, 19:30 UTC
Location: Sinzig (Rhein), Germany

Re: Meldung bei bestimmter Ordnergröße

Post by *van Dusen »

Fantin wrote:[...]Ist es möglich, dass TC mir eine Meldung gibt, wenn diese Ordnergröße erreicht ist?
Man könnte das mit einem Script für das Inhaltsplugin Script Content Plugin 0.1.0.1 lösen:

Code: Select all

'*** check_foldersize, van Dusen, 29.10.2005
'Script for Script Content Plugin
'(c)Lev Freidin, 2005
'http://www.totalcmd.net/plugring/script_wdx.html
'http://wincmd.ru/plugring/script_wdx.html

'Const KiB = 1024
'Const MiB = 1048576
Const GiB = 1073741824
'*** TDK DVD-R:
'Const ClusterSize = 2048
'Const ClusterQty = 2298368

Dim oFSO, oDirAct
Dim vDirActName, vDirWatchName, vDirActSize, vDirLimSize, vResult
Set oFSO = CreateObject("Scripting.FileSystemObject")

'*** BEG - Limit und zu überwachendes Verzeichnis konfigurieren
'vDirLimSize = 1 * MiB
vDirLimSize = 4.2 * GiB
'vDirLimSize = ClusterSize * ClusterQty
vDirWatchName = "MeineFotos"
'*** END - Limit und zu überwachendes Verzeichnis konfigurieren

vResult = ""

'*** Verzeichnisnamen prüfen (nur letzte Pfadkomponente)
'*** (Anm.: noch weiß man nicht, ob <filename> überhaupt ein Verzeichnis ist)
vDirActName = oFSO.GetExtensionName(filename)
If vDirActName <> "" Then vDirActName = "." & vDirActName

'*** Wenn <filename> ein Verzeichnis ist (wüsste zu gerne, wie man dies eleganter/korrekter prüfen kann)
'*** UND aktueller <filename> mit dem Namen des zu überwachenden Verzeichnisses übereinstimmt
'*** (könnte man noch ausbauen: Pattern Matching oder externe Verzeichnisliste)...
If oFSO.FolderExists(filename) AND LCase(oFSO.GetBaseName(filename) & vDirActName) = LCase(vDirWatchName) Then

   Set oDirAct = oFSO.GetFolder(filename)
   vDirActName = oDirAct.Name
   
   '*** Verzeichnisgröße ermitteln
   vDirActSize = oDirAct.Size
      
   '*** Verzeichnisgröße mit Limit vergleichen und Meldung basteln
   If vDirActSize >= vDirLimSize Then
      vResult = "Die Größe des Verzeichnisses" & Chr(10)
      vResult = vResult & oDirAct.Name & " (" & FormatNumber(vDirActSize / GiB) & " GiB)" & Chr(10)
      vResult = vResult & "hat das Limit (" & FormatNumber(vDirLimSize / GiB) & " GiB) erreicht oder überschritten!"
      vResult = MsgBox(vResult, vbExclamation + vbOKOnly, "Limit für Verzeichnisgröße erreicht")
   End If
      
   vResult = FormatPercent(vDirActSize / vDirLimSize)
   
End If

content = vResult

Set oFSO = Nothing
Set oDirAct = Nothing
Richtig überzeugend ist das zugegebenermaßen noch nicht. Wenn Du es trotzdem ausprobieren möchtest, müsstest Du

1. das oben genannte Plugin installieren,

2. das oben gelistete Script in einer Textdatei unter dem Namen <check_foldersize.vbs> im Verzeichnis des Plugins speichern,

3. in der <check_foldersize.vbs> den Namen des zu "überwachenden" Verzeichnisses (Zeile "vDirWatchName = "MeineFotos"") anpassen (statt "MeineFotos" eintragen),

4. die <script.ini> bearbeiten:

Code: Select all

[Script]
Section=check_foldersize
[Defaults]
LongName=1
ParceDirs=1
[check_foldersize]
ParceDirs=1
Script=check_foldersize.vbs
5. eine benutzerdefinierte Spalte mit dem Feldinhalt

Code: Select all

[=script.Result]
einrichten (und anzeigen lassen).


Kennst Du übrigens das Tool Burn To The Brim (BTTB)? Damit kannst Du Dir Dateien / Verzeichnisse automatisch so zusammenstellen lassen, dass der "Verschnitt", also der ungenutzte Platz, auf den Zieldatenträgern (z.B. CD- oder DVD-Rohlinge) minimiert wird.
Post Reply