吾爱破解 - LCG - LSG |安卓破解|病毒分析|www.52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 1220|回复: 16
收起左侧

[学习记录] bat文件 自带的一些变量

  [复制链接]
LXGZJ237 发表于 2023-2-26 00:58
bat文件 自带的一些变量
冒号左侧是变量名,右侧输出值
拖入文件和不拖文件 一些变量的值不一样
[Shell] 纯文本查看 复制代码
@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


123.png

免费评分

参与人数 2吾爱币 +2 热心值 +2 收起 理由
我是一个外星人 + 1 + 1 谢谢@Thanks!
ahhk + 1 + 1 谢谢@Thanks!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

 楼主| LXGZJ237 发表于 2023-2-27 10:05
本帖最后由 2370177068 于 2023-3-3 12:31 编辑
focus009 发表于 2023-2-26 15:01
谢谢分享,请问具体有什么应用场景呢?

比如,Qt自动打包编译好的程序,由于编译器不一样,windeployqt的位置也不一样,所以可以用bat,然后把编译的文件托上去,自动打包到桌面。

这里的自动打包指的是:
windeployqt.exe是Qt自带的工具,用于创建应用程序发布包。 简单来说,这个工具可以自动地将某程序依赖的库、资源拷贝到其所在目录,防止程序在其他电脑上运行报找不到库的错误。

而不是 把程序所有需要的库和其他资源 打包成 单文件程序

你们用的时候记得换一下你们Qt安装的路径,我是C:\Qt\

[PowerShell] 纯文本查看 复制代码
@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
cscz110 发表于 2023-2-26 03:35
龍謹 发表于 2023-2-26 05:18
tokess 发表于 2023-2-26 06:56
大佬厉害啊
Hacking2heart 发表于 2023-2-26 08:01
谢谢分享,以前从来没注意过两种方式会导致变量有差异。
zgzxp 发表于 2023-2-26 08:55
顶顶,bat还是能做很多事
cq2002 发表于 2023-2-26 09:28
多谢您的分享。吾爱因你而精彩
cn2jp 发表于 2023-2-26 11:28
具体有什么应用场景呢?
ptime 发表于 2023-2-26 11:49
谢谢分享!!!
zxh1231 发表于 2023-2-26 12:28
非常好,学习了
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

快速回复 收藏帖子 返回列表 搜索

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-10-5 14:41

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表