Windows 批处理脚本 变量加减乘除运算

@echo off
set /a a=1,b=2
set /a result=%a%+%b%
echo 加法运算:%a%+%b%=%result%
pause > nul 

/a 表示进行赋值运算
%a%+%b% 两个变量相加

@echo off

rem 减法
set /a a=24,b=4
set /a result=%a%-%b%

rem 乘法
set /a a=2,b=3
set /a result=%a%*%b%

rem 除法
set /a a=24,b=4
set /a result=%a%/%b%

pause > nul 

rem 是注释行

ffmpeg 按时间切分割视频

ffmpeg -i input.mp4 -ss start_time -to end_time -c copy output.mp4

start_time 是要开始切分的时间戳,以秒为单位。
end_time 是要结束切分的时间戳,以秒为单位。
-c copy 选项指示 ffmpeg 复制输入视频的音视频流,而不会重新编码它们。这将使输出文件更小,并且质量不会损失。

vbs 打开『选择文件夹』对话框

打开 『选择文件夹』对话框,支持指定默认路径

Function SelectFolder( myStartFolder )
	' Version: 0.1.0
	' Updated: 2021-08-07
	
    ' Standard housekeeping
    Dim objFolder, objItem, objShell
    
    ' Custom error handling
    On Error Resume Next
    SelectFolder = ""

    ' Create a dialog object
    Set objShell  = CreateObject( "Shell.Application" )
    Set objFolder = objShell.BrowseForFolder( 0, "Ñ¡ÔñÎļþ¼Ð", 0, myStartFolder )

    ' Return the path of the selected folder
    If IsObject( objfolder ) Then SelectFolder = objFolder.Self.Path

    ' Standard housekeeping
    Set objFolder = Nothing
    Set objshell  = Nothing
    On Error Goto 0
End Function

msgbox SelectFolder("C:\Windows\Desktop")

vbs 解析文件路径(文件名、扩展名、路径)

将传入的文件路径分割为路径、文件名、扩展名三部分。

dim example
example="c:\windows\a.txt"

Function get_file_parts(in_file)
 ' Version: 0.1.0
 ' Updated: 2021-08-07
 
 dim input_path,input_filename, ext_name, left_part_name

 input_path=Left(in_file, InStrRev(in_file,"\") - 1)
 input_filename=Right(in_file,Len(in_file)-InStrRev(in_file,"\"))
 ' msgbox input_path
 ' msgbox input_filename
 left_part_name=Left(input_filename, InStrRev(input_filename,".") - 1)
 ext_name=Right(input_filename,Len(input_filename)-InStrRev(input_filename,".")+1)

 get_file_parts=input_path & "," & left_part_name & "," & ext_name

End Function

msgbox get_file_parts(example)
' c:\windows
' a
' .txt

ffmpeg filter_complex 复杂多滤镜叠加

使用选项 -filter_complex

滤镜语法:
filtername=option1=value1:option2=value2:option3=value3...

完整命令语法:
ffmpeg -i 输入0 -i 输入1 -i 输入N -filter_complex "多滤镜组合表达式" output.mp4

其中多滤镜组合表达式语法思路是:[输入]滤镜[输出];[输入]滤镜[输出];

Github 下载文件夹(子目录)

有时候只是需要 Git 仓库里某个子文件夹里的源代码文件,并不想克隆整个仓库(可能整个仓库比较大)。例如只想下载某个课程系列里第一课的源代码案例 ch01。

原理:
1,SVN 基于文件方式存储(而Git却是基于元数据方式分布式存储文件信息的)
2,GitHub 支持 SVN 客户端