批处理指令常见问题
@echo off:
文件开头加这个,去掉回显, 加@本行回显也不显示
变量使用:
setlocal enabledelayedexpansion 设置变量作用范围
set "START_TIME=!DATE! !TIME!"
echo start generage sdk release package, start time: !START_TIME!
REM 这是一个注释,不用带引号
echo end generage sdk release package, start time: !START_TIME! end time: %DATE% %TIME%
endlocal 设置变量作用范围
注释方法:
REM: 这是一个注释
:: 这是一个注释
%这是一个注释%
常用的文件测试运算符:
-d
选项:检查给定的路径是否存在且为一个目录(directory)
示例:`if [ -d /some/path ]` 如果`/some/path`存在并且是一个目录,那么条件为真。
-e
选项:检查给定的路径是否存在(exist,可以是文件、目录、符号链接等)。
示例:`if [ -e /some/path ]` 如果`/some/path`存在(不管是什么类型),那么条件为真。
运算符 | 描述 | 示例 |
---|---|---|
-f | 检查是否存在且为常规文件(不是目录或设备文件) | if [ -f file.txt ] |
-L | 检查是否存在且为符号链接 | if [ -L link ] |
-r | 检查是否存在且可读 | if [ -r file.txt ] |
-w | 检查是否存在且可写 | if [ -w file.txt ] |
-x | 检查是否存在且可执行 | if [ -x script.sh ] |
-s | 检查是否存在且大小大于0 | if [ -s file.txt ] |
-z | 检查字符串长度是否为0 | if [ -z "$var" ] |
-n | 检查字符串长度是否非0 | if [ -n "$var" ] |