gpt4 book ai didi

windows oneliner 在环境变量中设置命令输出

转载 作者:可可西里 更新时间:2023-11-01 11:48:10 26 4
gpt4 key购买 nike

如此处所述Is it possible to set an environment variable to the output of a command in cmd.exe我一直用那个

mycommand.exe>%TEMP%\out.txt
set /P FOO=<%TEMP%\out.txt

但这很丑陋,因为它创建了一个文件。

for 方法更好但复杂

我想要一些简单的 la unix,比如:

mycommand.exe|set /P FOO=

没有错误,但是在我运行之后 FOO 没有设置。

为什么这不起作用?

最佳答案

我能想到的最好的方法是创建您自己的小批处理文件,静默使用 FOR 结构。例如,您可以创建一个名为 BatchSet.bat 的批处理,存储在您的路径中的某个位置。该批处理将包含以下代码:

@Echo off
for /f "delims=" %%i in ('%2') do set %1=%%i
Set %1

如果您使用以下命令运行它:

BatchSet MyVar whoami

你会得到类似的东西:

MyVar=servername\John

显然,您运行的命令应将其输出限制为单行,以便正确存储在环境变量中。例如,如果你这样运行它:

BatchSet MyVar Vol

然后你只会得到Vol命令输出的第一行

MyVar= Volume on drive C is labeled MyDisk

但总而言之,这是一种相当优雅的方式来完成您正在寻找的事情。

请注意,批处理中的最后一行只是提供视觉输出。它可以完全删除。

关于windows oneliner 在环境变量中设置命令输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38722224/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com