Android解决JNA调用C++动态库返回字符串乱码的问题
Android下解决JNA调用C++动态库返回字符串乱码的问题
Win11资源管理器(文件夹)出现的菜单栏怎么隐藏?
Win11资源管理器使用过程中偶尔就会出现如下图所示的情况,菜单栏莫名其妙会显示出来,看着极不协调,那该如何隐藏呢?
pragma once与ifndef的区别
pragma once与ifndef的区别
预定义宏__GNUC__和_MSC_VER
预定义宏__GNUC__和_MSC_VER
C++屏蔽4996警告
C++屏蔽4996警告
批处理中一些比较琐碎、但又有价值的一些知识点
本节学习有关批处理的一些比较琐碎、但又比较有价值的一些知识,运用这些知识后,才有条件更好的实现的批处理的功能,并能使批处理摆脱黑白世界而显得更加多姿多彩。废话少说,开讲啦~
环境变量所谓环境变量,实际上就是C语言里面的“变量”的意思。批处理的变量可以分为两类,由系统定义的系统变量和由用户根据需要自定义的用户变量。
系统变量批处理的一些变量是由操作系统事先定义好的,可以适用于任何批处理,我们称这些特殊的变量为“系统变量”。系统变量有很多个,包括硬件类、操作系统类、文件路径类、系统时间类等。要查看所有的系统变量,请新打开一个cmd窗口,输入set回车即可。对几个比较常用的变量解释如下:
ComputerName 计算机名,即右键 我的电脑–属性–计算机名 选项卡中的“完整的计算机名称”
ComSpec cmd.exe完整路径名
HomeDrive 系统分区盘符,一般都是C盘,故而HomeDrive=C:
Path 可执行文件默认搜索路径。这个东东非常重要!待会儿单独讲解…
ProgramFiles 就是系统的Program Files的路径啦,一般都是C:/Progr ...
Bat批处理语句结构
类似于C语言,批处理也有它的语句结构。批处理的语句结构主要有选择结构(if语句)、循环结构(for语句)等。
if语句(选择结构)if语句实现条件判断,包括字符串比较、存在判断、定义判断等。通过条件判断,if语句即可以实现选择功能。
字符串比较if语句仅能够对两个字符(串)是否相同、先后顺序进行判断等。其命令格式为: IF [not] string1 compare-op string2 command1 [else command2]
其中,比较操作符compare-op有以下几类:
== - 等于
EQU - 等于
NEQ - 不等于
LSS - 小于
LEQ - 小于或等于
GTR - 大于
GEQ - 大于或等于
选择开关/i则不区分字符串大小写;选择not项,则对判断结果进行逻辑非。
字符串比较示例:
1234567891011===============================================@echo offset str1=abcd1233set str2=ABCD1234if %str1%==%str2% (echo ...
Bat批处理@setlocal enableextensions 和 enabledelayedexpansion区别解析
setlocal enableextensions 和 setlocal enabledelayedexpansion的区别解析
Bat批处理setlocal enabledelayedexpansion详解
详细介绍
setlocal:
setlocal 命令用于启动本地环境变量设置。这意味着在其后的命令中对环境变量的修改仅在当前脚本或批处理文件中有效,不会影响到调用该脚本或批处理文件的父进程。
enabledelayedexpansion:
enabledelayedexpansion 是 setlocal 的一个选项,用于启用延迟环境变量扩展。
延迟环境变量扩展允许在脚本执行过程中动态地获取和更新环境变量的值。例如:延迟环境变量扩展允许在for循环或其他需要动态评估环境变量的场景中使用 !variable! 语法来访问变量的值,而不是使用 %variable% 语法。这在处理循环或需要多次更新变量值的场景中非常有用。
应用案例假设需要在一个批处理脚本中处理一个包含多个元素的列表,并对每个元素进行一些操作。使用延迟环境变量扩展可以方便地实现这一需求。
示例脚本
123456789101112131415161718@echo offsetlocal enabledelayedexpansionset "list=apple banana cherry"e ...
Bat批处理符号的作用参考
一、单符号~① 在for中表示使用增强的变量扩展。② 在%var:~n,m%中表示使用扩展环境变量指定位置的字符串。③ 在set/a中表示一元运算符,将操作数按位取反。
!① 在set /a中一元运算符,表示逻辑非。比如set /a a=!0,这时a就表示逻辑1。
@① 隐藏命令行本身的回显,常用于批处理中。
$① 在findstr命令里面表示一行的结束。② 在prompt命令里面,表示将其后的字符转义(符号化或者效果化)。
%① 在set /a中的二元运算符,表示算术取余。② 命令行环境下,在for命令in前,后面接一个字符(可以是字母、数字或者一些特定字符),表示指定一个循环或者遍历指标变量。③ 批处理中,后接一个数字表示引用本批处理当前执行时的指定的参数。④ 其它情况下,%将会被脱去(批处理)或保留(命令行)
^① 取消特定字符的转义作用,比如& | > < ! “等,但不包括%。比如要在屏幕显示一些特殊的字符,比如> >> | ^ &等符号时,就可以在其前面加一个^符号来显示这个^后 ...