Quantcast
Channel: 簡睿隨筆
Viewing all articles
Browse latest Browse all 932

自動搜尋Filmora.exe並執行的方法:使用es.exe與VBScript

$
0
0

在錄製影片時我使用的是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

##

您可能也會有興趣的類似文章


Viewing all articles
Browse latest Browse all 932

Trending Articles