bat文件 自带的一些变量
bat文件 自带的一些变量冒号左侧是变量名,右侧输出值
拖入文件和不拖文件 一些变量的值不一样
@echo off
echo %%~d1:%~d1
echo %%~dp1:%~dp1
echo %%~n1:%~n1
echo %%~nx1:%~nx1
echo %%1:%1
echo %%~d0:%~d0
echo %%cd%%:%cd%
echo %%~dp0:%~dp0
echo %%~sdp0:%~sdp0
echo %%0:%0
echo %%~f0: %~f0
pause
本帖最后由 2370177068 于 2023-3-3 12:31 编辑
focus009 发表于 2023-2-26 15:01
谢谢分享,请问具体有什么应用场景呢?
比如,Qt自动打包编译好的程序,由于编译器不一样,windeployqt的位置也不一样,所以可以用bat,然后把编译的文件托上去,自动打包到桌面。
这里的自动打包指的是:
windeployqt.exe是Qt自带的工具,用于创建应用程序发布包。 简单来说,这个工具可以自动地将某程序依赖的库、资源拷贝到其所在目录,防止程序在其他电脑上运行报找不到库的错误。
而不是 把程序所有需要的库和其他资源 打包成 单文件程序
你们用的时候记得换一下你们Qt安装的路径,我是C:\Qt\
@echo off
if "%~n1" == "" (
echo 不要双击,要使用拖放!!!
echo 无视风险,仍然继续,请回车
pause
)
:start
@rem 输入数字,设置环境变量
echo 你编译程序使用的Qt版本是?
echo 1:Qt 6.4.2 MinGW 11.2 x64
echo 2:Qt 6.4.2 MSVC2019 x64
echo 3:Qt 5.15.0 MinGW 8.1 x32
echo 4:Qt 5.15.0 MinGW 7.3 x64
echo 5:Qt 5.15.0 MSVC2019 x32
echo 6:Qt 5.15.0 MSVC2019 x64
echo 0:退出
set /p num=
if %num% == 1 goto num1
if %num% == 2 goto num2
if %num% == 3 goto num3
if %num% == 4 goto num4
if %num% == 5 goto num5
if %num% == 6 goto num6
if %num% == 0 goto exit
goto default
@rem Qt 6.4.2 MinGW 11.2 x64
:num1:
set PATH=C:\Qt\6.4.2\mingw_64\bin;C:\Qt\Tools\mingw1120_64\bin;%PATH%
goto ok
@rem Qt 6.4.2 MSVC2019 x64
:num2:
set PATH=C:\Qt\6.4.2\msvc2019_64\bin;%PATH%
goto ok
@rem Qt 5.15.0 MinGW 8.1 x32
:num3:
set PATH=C:\Qt\5.15.0\mingw81_32\bin;C:/Qt/Tools/mingw810_32\bin;%PATH%
goto ok
@rem Qt 5.15.0 MinGW 7.3 x64
:num4:
set PATH=C:\Qt\5.15.0\mingw81_64\bin;C:/Qt/Tools/mingw810_64\bin;%PATH%
goto ok
@rem Qt 5.15.0 MSVC2019 x32
:num5:
set PATH=C:\Qt\5.15.0\msvc2019\bin;%PATH%
goto ok
@rem Qt 5.15.0 MSVC2019 x64
:num6:
set PATH=C:\Qt\5.15.0\msvc2019_64\bin;%PATH%
goto ok
:exit
exit
:default:
cls
echo 您输入的不在1~6之间!
goto start
:ok
@rem 尝试删除桌面的项目目录
rd /Q /S "%USERPROFILE%\Desktop\%~n1"
@rem 在桌面创建项目目录
md "%USERPROFILE%\Desktop\%~n1"
@rem 复制主程序
copy "%1" "%USERPROFILE%\Desktop\%~n1\%~nx1"
@rem 使用Qt自带工具添加缺失DLL等文件
windeployqt "%USERPROFILE%\Desktop\%~n1\%~nx1"
pause ,感谢分享 还没见过这么详细的,有心了 谢谢分享,Get到了。 大佬厉害啊 谢谢分享,以前从来没注意过两种方式会导致变量有差异。 顶顶,bat还是能做很多事 多谢您的分享。吾爱因你而精彩{:1_921:} 具体有什么应用场景呢? 谢谢分享!!! 非常好,学习了
页:
[1]
2