如何从python脚本运行一个功能齐全的批处理文件?

2024-09-30 05:25:20 发布

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

我负责一个实验室,里面有很多设备,我正在开发一个自动化的实验流程。加载实验的触发器是使用特定的用户名。我有一个流程图,可以识别登录时的行为,这样当一个钻机被预定给特定的用户名,而没有其他人登录时,它就会接管并在夜间运行实验等

我需要能够使用python运行批处理文件来注销用户(除非有python命令可以使用)。我已经写了一个批处理文件来实现这一点(注销.bat). 如果我从命令提示符运行批处理文件,它工作正常,用户(由远程PC上的会话id选择)注销,一切正常。你知道吗

我有一个python脚本,它用相同的参数调用bat文件,命令提示符弹出并运行,但是我得到了一个不同的响应,比如“logoff”不被识别为内部或外部命令”,对于quser也是如此。你知道吗

请检查下面我的代码并帮助我找到python解决方案。 谢谢。。。你知道吗

你知道吗注销.bat地址:

@echo off
echo Logging off Rig %1
echo at IP address %2
echo using session ID %3
echo.
echo.
logoff %3 /server:%2
echo Done...
echo
quser /server:%2
pause
rem exit

从python。。。你知道吗

我试过:

import os os.system(r"path\LogOffIP.bat G 100.100.100.100 12")

这会导致“注销”无法识别。你知道吗

我试过:

import subprocess
answer = subprocess.call([path\LogOffIP.bat, G, 100.100.100.100, 1'])

this gives WindowsError: [Error 2] The system cannot find the file specified in python.

我试过: answer = subprocess.Popen([r'path','LogOffIP.bat','G 100.100.100.100 1'])

this gives WindowsError: [Error 5] Access is denied in python

我在示例中使用了伪造的IP地址来保护真实的IP地址。你知道吗

我预计会有一个短暂的延迟,用户会在从命令提示符运行批处理文件时注销。操作系统似乎不支持所有的dos命令。你知道吗


Tags: 文件path用户import命令echoserver用户名

热门问题