将变量传递到批处理fi

2024-09-29 19:10:26 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个脚本需要我把变量传递到批处理文件,测试.bat在

脚本

pst = subprocess.Popen(
        ["test.bat",  userIP],
        stdout = subprocess.PIPE,
        stderr = subprocess.PIPE
    )

批处理文件

^{pr2}$

它不起作用。如果我用userIP调用脚本,它将返回空白输出。在

但如果我不使用批处理文件和替换

pst = subprocess.Popen(
        ["test.bat",  userIP],
        stdout = subprocess.PIPE,
        stderr = subprocess.PIPE
    )

pst = subprocess.Popen(
        ["D:\pstools\psloggedon.exe", "-l", "-x",  userIP],
        stdout = subprocess.PIPE,
        stderr = subprocess.PIPE
    )

那么它就完美地工作了。如果我用userIP调用,它将返回当前用户。在

怎么解决这个问题?在


Tags: 文件test脚本stderrstdout空白subprocesspopen
1条回答
网友
1楼 · 发布于 2024-09-29 19:10:26

因为这是一个Windows批处理文件,而不是一个与POSIX.2兼容的shell

D:\pstools\psloggedon.exe -l -x $1

应该是

^{pr2}$

(顺便说一句,如果是一个与POSIX兼容的shell,那么您需要引用,如-x "$1"中所示,以确保参数被正确传递)。在

相关问题 更多 >

    热门问题