Tenho muitos vídeos armazenados no meu disco rígido. Aqueles que são de dvd ou qualidade inferior (480p, tamanho máximo 7GB), gostaria de abrir usando vlc. Aqueles com qualidade HD (720p, 1080p, tamanho maior que 7GB), gostaria de abrir usando o PowerDVD.
Todos os arquivos têm a mesma extensão (.mkv). É possível programar a associação de arquivos no Windows, de forma que primeiro observe o tipo de arquivo (mkv neste caso) e depois também o tamanho do arquivo. Ele deve usar automaticamente vlc ou PowerDVD para arquivos mkv, com base em seu tamanho.
Por favor, deixe-me saber se tal ajuste é possível.
Responder1
Você terá que associar a extensão MKV a um arquivo em lote ou script PowerShell/VB que, por sua vez, executa a verificação do tamanho do arquivo e invoca o aplicativo apropriado.
Veja como fazer isso com um arquivo em lote:
Abrirregedit, navegue até
HKEY_CLASSES_ROOT\.mkv
e observe o(Padrão)valor. Isto é oID do programa. Vamos supor que sejaarquivo mkv.Navegue
HKEY_CLASSES_ROOT\mkvfile\shell\open\command
e modifique o(Padrão)valor para algo como"D:\MKVSizeCheck.bat" "%1"
.Agora crie o
D:\MKVSizeCheck.bat
arquivo em lote com o seguinte conteúdo:if %~z1 leq 524288000 ( start "" /max "C:\Program Files\VLC\VLC.exe" "%~1" ) else ( start "" /max "C:\Program Files\PowerDVD\PowerDVD.exe" "%~1" )
Veja como fazer isso com VBScript:
O mesmo que acima.
Navegue
HKEY_CLASSES_ROOT\mkvfile\shell\open\command
e modifique o(Padrão)valor para algo comowscript //B "D:\MKVSizeCheck.vbs" "%1"
.Agora crie o
D:\MKVSizeCheck.vbs
arquivo com o seguinte conteúdo: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
Nota nº 1: Modifique os caminhos conforme necessário, obviamente. Além disso, o código acima define 500 MB (= 524288000 bytes) como limite, portanto, altere-o também de acordo com suas necessidades (no entanto, valores muito grandes podem ser possíveis apenas em VBScript).
Nota nº 2: você sempre pode usar um utilitário comoFileTypesManexecute as etapas 1 a 2 se não tiver certeza sobre como editar manualmente o registro.
Nota nº 3: Usar um arquivo em lote fará com que uma janela do console pisque, o que pode ser irritante. Agora isso pode ser escondido usando algo comoInício ocultoou VBScript, mas por que se preocupar quando é melhor usar VBScript diretamente?