我是批处理文件的新手,需要一些帮助如何连接批处理文件中的变量和字符串。 只是为了给出背景,我正在解析一个 yaml 文件并试图在变量(Var1)中获取 yaml 文件的最后一行,它包含包的版本并且应该将相同的添加到路径变量
@echo off
SETLOCAL DisableDelayedExpansion
FOR /F "usebackq delims=" %%a in (`"findstr /n ^^ ..\..\Config\files.yaml"`) do (
set "var=%%a"
SETLOCAL EnableDelayedExpansion
set "var=!var:*:=!"
set "var1=!var:*:=!"
set "b=C:\Development\Amazon_"
set "output=%b% _ %var1%"
echo(!var!
echo !b!
echo !var1!
echo !var1!>output.bat
ENDLOCAL
)
yaml文件内容如下:
project_config: 2 # file format version
name: XXX Project
packages:
- id: ABCD
version: v1.2
- id: XYZ
version: v2.2
- id: PQRZ
version: v5.58
- id: Amazon_server_provision
version: v2021_03_02
使用我的代码片段,我希望输出变量中的输出为 C:\Development\Amazon_v2021_03_02 当我在此处回显输出变量时它不会在屏幕上打印任何内容
但是对于当前的代码片段,我无法连接字符串和变量(输出),而且我在变量(var1)内容中有一个空格(v2023_03_02),我无法删除它,它在这里打印在另一个批处理文件(output.bat)。
有人能告诉我,这段代码有什么问题吗?