Windows-Dateizuordnung basierend auf Dateityp und dann Größe

Windows-Dateizuordnung basierend auf Dateityp und dann Größe

Ich habe viele Videos auf meiner Festplatte gespeichert. Die in DVD-Qualität oder niedrigerer Qualität (480p, max. Größe 7 GB) möchte ich mit VLC öffnen. Die in HD-Qualität (720p, 1080p, Größe über 7 GB) möchte ich mit PowerDVD öffnen.

Alle Dateien haben die gleiche Erweiterung (.mkv). Ist es möglich, die Dateizuordnung in Windows so zu programmieren, dass zuerst der Dateityp (in diesem Fall mkv) und dann auch die Dateigröße geprüft wird? Je nach Größe sollte für mkv-Dateien automatisch entweder vlc oder PowerDVD verwendet werden.

Bitte lassen Sie mich wissen, ob eine solche Optimierung möglich ist.

Antwort1

Sie müssen die MKV-Erweiterung mit einer Batchdatei oder einem PowerShell-/VB-Skript verknüpfen, das wiederum die Dateigrößenprüfung durchführt und die entsprechende Anwendung aufruft.

So geht's mit einer Batchdatei:

  1. Offenregedit, navigieren Sie zu HKEY_CLASSES_ROOT\.mkvund notieren Sie sich den(Standard)Wert. Dies ist derProgramm-ID. Nehmen wir an, es istMKV-Datei.

  2. Navigieren Sie zu HKEY_CLASSES_ROOT\mkvfile\shell\open\commandund ändern Sie die(Standard)Wert auf etwas wie "D:\MKVSizeCheck.bat" "%1".

  3. Erstellen Sie nun die D:\MKVSizeCheck.batBatchdatei mit folgendem Inhalt:

    if %~z1 leq 524288000 (
        start "" /max "C:\Program Files\VLC\VLC.exe" "%~1"
    ) else (
        start "" /max "C:\Program Files\PowerDVD\PowerDVD.exe" "%~1"
    )
    

So geht's mit VBScript:

  1. Das gleiche wie oben.

  2. Navigieren Sie zu HKEY_CLASSES_ROOT\mkvfile\shell\open\commandund ändern Sie die(Standard)Wert auf etwas wie wscript //B "D:\MKVSizeCheck.vbs" "%1".

  3. Erstellen Sie nun die D:\MKVSizeCheck.vbsDatei mit folgendem Inhalt:

    set objArgs = WScript.Arguments
    set objShell = WScript.CreateObject("WScript.Shell")
    set objFSO = WScript.CreateObject("Scripting.FileSystemObject")
    if objFSO.GetFile(objArgs.Item(0)).Size <= 524288000 then
        objShell.Run """C:\Program Files\VLC\VLC.exe"" """ & objArgs.Item(0) & """", 3, false
    else
        objShell.Run """C:\Program Files\PowerDVD\PowerDVD.exe"" """ & objArgs.Item(0) & """", 3, false
    end if
    

Hinweis Nr. 1: Ändern Sie die Pfade natürlich nach Bedarf. Außerdem legt der obige Code 500 MB (= 524288000 Bytes) als Schwellenwert fest. Ändern Sie also auch diesen Wert nach Bedarf (sehr große Werte sind jedoch möglicherweise nur in VBScript möglich).

Hinweis Nr. 2: Sie können immer ein Dienstprogramm wie verwendenFileTypesManführen Sie die Schritte 1–2 aus, wenn Sie sich beim manuellen Bearbeiten der Registrierung nicht sicher sind.

Hinweis Nr. 3: Bei Verwendung einer Batchdatei blinkt ein Konsolenfenster, was irritierend sein kann. Dies kann nun mit etwas wieVersteckter Startoder VBScript, aber warum sollte man sich die Mühe machen, wenn es besser ist, von vornherein direkt VBScript zu verwenden.

verwandte Informationen