在錄製影片時我使用的是WonderShare公司的Filmora,尚稱滿意,在多部電腦裡皆安裝了,但因為安裝的位置不同,且Filmora經常更新版本,更版後安裝資料夾都有帶上版本號(如14.4.3.11809),我又習慣在命令行以批次檔的方式執行,因此必須經常修改批次檔裡的版本號,不勝其擾。今天終於著手修改啟動的執行檔,希望不必再修改了。
原來是想完全在批次檔 fm14.bat 裡判斷並執行,試了一會發現太麻煩了,最終用比較簡單的 VBScript 解決。
1. fm14.bat
- 用Everything search engine的命令行 es.exe找到硬碟內的filmora.exe
- 將找到的 es.exe 輸出傳給 fimlora-exec.vbs
▼ fm14.bat
@echo off
for /f "tokens=*" %%i in ('es -w -r "^filmora.exe$"') do set FILMORA=%%i
cscript.exe c:\util\filmora-exec.vbs "%FILMORA%"
2. fimora-exec.vbs
- 解析傳入的 es.exe 資料,找 C: 或 D:,將執行路徑存入filename,最後執行 filename
Dim source, substr, pos, filename
' 參數1: 2025/03/12 10:11 38,008 C:\Users\帳號\AppData\Local\Wondershare\Wondershare Filmora\14.4.5.11834\Filmora.exe
source = WScript.Arguments(0)
WScript.Echo source
substr = "C:"
pos = InStr(source, substr)
if pos <= 0 Then
substr = "D:"
pos = InStr(source, substr)
End if
If pos > 0 Then
'WScript.Echo "Substring [" & substr & "] index:" & pos
filename = """" & Mid(source, pos, 128) & """"
WScript.Echo "exec " & filename
Set objShell = CreateObject("WScript.Shell")
objShell.Run filename, 0, True
Else
WScript.Echo "Cannot find substring '" & substr & "'"
End If
##