Batch file 尝试在批处理中为变量设置值
我正在尝试编写一个简单的脚本来执行git添加、提交和推送Batch file 尝试在批处理中为变量设置值,batch-file,Batch File,我正在尝试编写一个简单的脚本来执行git添加、提交和推送 @echo off SET operation=%1 SET opParam=%2 SET mainBranch=dev/1.1 if %operation%==fire ( for /f %%i in ('git rev-parse --abbrev-ref HEAD') do set branchName=%%i if %opParam%.==. ( SET opParam="autogenerate
@echo off
SET operation=%1
SET opParam=%2
SET mainBranch=dev/1.1
if %operation%==fire (
for /f %%i in ('git rev-parse --abbrev-ref HEAD') do set branchName=%%i
if %opParam%.==. (
SET opParam="autogeneratedmessage"
@echo on
echo %opParam%
@echo off
) else (
SET opParam="%opParam%"
@echo on
echo %opParam%
@echo off
)
git add -A
git commit -m %opParam%
git push origin %branchName%
)
因此,问题是当第二个参数为空时,它无法在第9行将opParam
的值设置为autogeneratedmessage
以下是我到目前为止尝试设置opParam的内容:
SET opParam=""autogeneratedmessage""
SET opParam="autogeneratedmessage"
SET "opParam=autogeneratedmessage"
我真的看不出我做错了什么。这似乎是一个简单的问题,但我已经讨论了半个小时。我已经启用了该块中的延迟扩展,并使用
引用了我的变量代码>而不是%
if %operation%==fire (
setlocal enabledelayedexpansion
for /f %%i in ('git rev-parse --abbrev-ref HEAD') do set branchName=%%i
if %opParam%.==. (
SET opParam="autogenerated"
@echo on
echo !opParam!
@echo off
) else (
SET opParam="%opParam%"
@echo on
echo %opParam%
@echo off
)
git add -A
git commit -m !opParam!
git push origin %branchName%
)
@是的,就是这样。。。我不知道延迟的扩张到底是什么,哈哈