window 命令行bat脚本软连接执行exe

为了让自己在window平台上执行命令和linux一样方便.先是添加了一个tools/bin目录到系统Path环境变量中,考虑到每一个程序都会有一堆的附带文件,因此没有把程序可执行文件都拷贝到bin目录中.
开始想着是否能像linux那样使用软连接方式呢,测试输入命令
mklink ./ffmpeg.exe ../ffmpeg/bin/ffmpeg.exe可以生成软连接并可以执行,但会提示动态库切实无法运行.
后面就想着弄个bat脚本来添加Path目录并执行这个软连接,测试可用.同时通过添加Path目录后已经不需要软连接也可以执行原始可执行文件了.
脚本如下:
@ rem 关闭自身回显
@ echo off

set Path=%Path%;%~dp0../ffmpeg/bin/;
rem %~dp0当前脚本路径
rem %~n0为当前脚本名
set COMMAND_NAME=%~n0.exe

rem 获取所有参数
set ALL_PARAM=
:param_tag
set str=%1
if "%str%"=="" (
    goto end_tag
)
set ALL_PARAM=%ALL_PARAM% %str%
shift /0
goto param_tag
:end_tag
if "%ALL_PARAM%"=="" (
    goto command_tag
)
rem remove left right blank
:intercept_left_tag
if "%ALL_PARAM:~0,1%"==" " set "ALL_PARAM=%ALL_PARAM:~1%"&goto intercept_left_tag
:intercept_right_tag
if "%ALL_PARAM:~-1%"==" " set "ALL_PARAM=%ALL_PARAM:~0,-1%"&goto intercept_right_tag

rem 执行命令附带参数
:command_tag
@ rem 打开回显
@ echo on
@ %COMMAND_NAME% %ALL_PARAM%

当然这个命令方式也可以起到一样的作用.

@setlocal
@set Path=%Path%;%~dp0../ffmpeg/bin/;
@ %~n0.exe %*

上面代码留作记录以备以后使用.

你可能感兴趣的:(脚本,bat)