python - 在 Windows shell 脚本 (cmd.exe) 中,如何将程序的标准输出分配给环境变量?

标签 python windows cmd

在 UNIX 中,您可以使用解释的技术将脚本的输出分配给环境变量 here - 但 Windows 的等价物是什么?

我有一个 python 实用程序,用于更正环境变量。该脚本只是将一系列字符写入标准输出。出于这个问题的目的,我的实用程序是用 python 编写的这一事实是无关紧要的,它只是一个程序,我可以从输出单行文本的命令提示符调用。

我想做这样的事情(可行):

set WORKSPACE=[ the output of my_util.py ]

运行此命令后,WORKSPACE 环境变量的值应包含与我的实用程序通常打印出的文本完全相同的文本。

可以吗?怎么办?


更新 1:工作中有人建议:

python util.py | set /P WORKSPACE=

理论上,这会将 python 脚本的标准输出分配给 env-var WORKSPACE,但它不起作用,这里出了什么问题?

最佳答案

使用:

for /f "delims=" %A in ('<insert command here>') do @set <variable name>=%A

例如:

for /f "delims=" %A in ('time /t') do @set my_env_var=%A

...将运行命令“time/t”并将环境变量“my_env_var”设置为结果。

如果您在 .BAT 文件中运行它,请记住使用 %%A 而不是 %A。

关于python - 在 Windows shell 脚本 (cmd.exe) 中,如何将程序的标准输出分配给环境变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2738673/

相关文章:

python - 处理 Scrapy Div 类

c# - 在 C# 中同时使用图形对象时出错?

windows - Sublime Text 2 Mouse free 从 "Find in Files"结果打开文件

C getopenfilename 获取文件名

batch-file - winrar使用批处理压缩文件夹

python - 将 MySQL 数据库凭据存储在一个文件中,然后在主脚本中调用该文件

python - 需要帮助构建 SQLAlchemy 查询 + 子查询

python - 强制从 Python 标准库导入模块而不是默认的 PYTHONPATH

c# - 如何在控制台应用程序中运行另一个 cmd.exe 调用?

c - 在 C 中执行 Windows 命令