You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Python+WMI将本地变量写入远程Windows Server的TXT文件遇异常

问题原因

你遇到的问题是因为CMD在解析整个命令行时,会先对%x%做即时变量扩展,这时候set x={x}还没执行,所以%x%没有被替换成实际值。

解决办法

方法一:直接嵌入本地变量值(推荐)

不需要在远程CMD里设置变量,直接把Python中x的值通过f-string嵌入到命令中,绕开CMD的变量扩展问题:

import wmi

x = 28
c = wmi.WMI(ip, user=username, password=password)
process_id, return_value = c.Win32_Process.Create(CommandLine=f"cmd.exe /c echo {x} > c:/1.txt")

方法二:开启CMD延迟扩展

通过/v:on开启CMD的延迟扩展功能,用!x!替代%x%,让变量在命令执行阶段才被解析:

import wmi

x = 28
c = wmi.WMI(ip, user=username, password=password)
process_id, return_value = c.Win32_Process.Create(CommandLine=f"cmd.exe /v:on /c set x={x} & echo !x! > c:/1.txt")

内容的提问来源于stack exchange,提问作者jobberman

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.27 19:42:40