是否可以将环境变量设置为 cmd.exe 中命令的输出
我需要执行相当于
set ENVAR=`some-command`
在 windows/cmd.exe 脚本中执行的操作。 Cygwin 不是一个选择。
对于奖励分数:是否有一些 cmd.exe 相当于一般的反引号?
I need to do the equivalent of
set ENVAR=`some-command`
In a windows/cmd.exe script. Cygwin is not an option.
For bonus marks: Is there some cmd.exe equivalent of backticks in general?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
一种快速而肮脏的方法是将其重定向到一个文件,然后阅读此内容,例如
我认为
for
也可以帮助您,但我不记得确切的语法。尝试类似我可能忘记了选项中的一些
token
或delim
...A quick and dirty way would be redirecting it to a file and then reading this, e.g.
I think
for
can also help you, but I don't remember the exact syntax. Try something likeI probably forgot some
token
ordelim
in the options...不是“可能”,绝对必须指定“delims=”(这意味着“无分隔符”),除非您希望变量仅包含输入数据的第一个空格或制表符。
建议指定“delims=”作为最后一个选项,以避免操作员和 shell 的选项感知中出现潜在的混淆。
即
参见 关于 FOR /F 的 SS64 文章。
Not "probably", it is absolutely a must to specify "delims=" (it means "no delimiters"), unless you want your variable to only contain up to first space or tab of the input data.
It is recommended to specify "delims=" as the last option to avoid potential confusion in options perception by the operator and by the shell.
I.e.
See SS64 article on FOR /F.