大约2年前,我创建了一个批处理脚本来使用mediainfo扫描视频文件,返回一个值,将值与设置值/整数进行比较,然后在比较通过时运行handbrake。否则,跳过该文件。
我想通过添加GUI使脚本更具可定制性。所有这些GUI必须做的是以下事情:
这是整个批处理脚本文件:
@echo off
set mediainfo="%~dp0MediaInfo.exe"
set result="%~dp0bitrate.txt"
set handbrake="%~dp0HandBrakeCLI.exe"
SETLOCAL ENABLEDELAYEDEXPANSION
Set /P a=Enter source path:
set a1=%a: =_%
set src=%a1:"=%
if not %src:~-1%==\ set src=%src%\
Set /P b=Enter destination for converted files:
set b1=%b: =_%
set dest=%b1:"=%
if not %dest:~-1%==\ set dest=%dest%\
for /R %a% %%j in (*.*) do (
Echo Filepath is: %%j
%mediainfo% --Inform=General;%%BitRate%% "%%j" > %result%
set /P bitrate=<%result%
del %result%
echo Bit Rate is: !bitrate!
if !bitrate! gtr 4500000 (
set fpath=%%~dpj
set fpath=!fpath: =_!
set trg=!fpath:%src%=%dest%!
if not !trg:~-1!==\ (set trg="!trg:_= !\") else (set trg="!trg:_= !")
set fnl="!trg:"=!%%~nj.mkv"
if not exist !trg! mkdir !trg!
%handbrake% -i "%%j" -o !fnl! -f mkv -e x264 -q 20 --vfr -a 1,1 -E av_aac,ac3 -B 192 -x level=4.1:vbv-bufsize=7000:vbv-maxrate=4500) else (echo No need to transcode.)
)
cmd /k
所以我的问题是,如何制作一个可以轻松将变量传递给批处理文件的GUI。我正在研究HTA,但这似乎主要是基于VBscript / javascript,不确定它是否适用于批处理。此外,我最近遇到了AutoIt,但不确定它是否会做我需要的。
只是想指向正确的方向。 谢谢。 github.com/j0ckinjz/Batch-Convert-Script
编辑:格式化