CMD批量转义参数中的环境变量

Tob*_*bia 4 batch command-line environment-variables

我必须编写一个带有环境变量参数的批处理文件:

c:\myapp.exe -f "%APP_HOME%\file.conf" 
Run Code Online (Sandbox Code Playgroud)

我需要准确地将字符串%APP_HOME%作为参数传递而不是它的值。我能怎么做?

换句话说,我不想在批处理运行时剥离变量,但我想让应用程序将其用作参数化路径,如果我更改此环境变量,我不想更改应用程序中的变量。

Dav*_*ill 5

我需要准确地传递字符串“%APP_HOME%”作为参数

  1. 替换%^%
  2. 删除"s

    c:\myapp.exe -f ^%APP_HOME^%\file.conf

测试.cmd:

@echo %1 %2 %3
Run Code Online (Sandbox Code Playgroud)

输出:

F:\test>test c:\myapp.exe -f ^%APP_HOME^%\file.conf
c:\myapp.exe -f %APP_HOME%\file.conf
F:\test>
Run Code Online (Sandbox Code Playgroud)

进一步阅读