环境变量设置为一个命令的输出,我需要做的是否有可能在CMD.EXE
set ENVAR=`some-command`
相当于在Windows/cmd.exe的脚本。 Cygwin不是一个选项。
对于奖励标志:是否有一些cmd.exe相当于一般的反引号?
环境变量设置为一个命令的输出,我需要做的是否有可能在CMD.EXE
set ENVAR=`some-command`
相当于在Windows/cmd.exe的脚本。 Cygwin不是一个选项。
对于奖励标志:是否有一些cmd.exe相当于一般的反引号?
一种快速和肮脏的方式将重定向到一个文件,然后阅读,例如,
some-command>out.txt
set /p ENVAR=<out.txt
我认为for
也可以帮助你,但我不记得确切的语法。尝试类似
for /f "usebackq" %x in (`some-command`) do set ENVAR=%x
我可能忘了在选项一些token
或delim
...
不是“可能”,这绝对是一个必须注明“delims =”作为最后一个记号(手段,没有分隔符),除非您希望变量只包含输入数据的第一个空格。
即
FOR /F "usebackq delims=" %%a IN (`cygpath.exe -u "%~1"`) DO (
SET CMDNAME=%%~a
SHIFT
)
安装Powershell。 – 2010-07-07 23:39:40
我有一个第三方程序调用cmd.exe与脚本并在脚本完成后检查原因环境变量。我无法直接使用其他shell。 – 2010-07-08 00:38:52