PyQt - Qprocess 不能 运行 直接命令 "chcp" 但从批处理中没问题

PyQt - Qprocess Can not run command "chcp" directly but from batch its fine

以下用于执行批处理文件的代码:

def GetCMD_Encoding(self):

    self.CMD = QProcess(self)
    self.CMD.setProcessChannelMode(QProcess.MergedChannels)
    self.CMD.readyReadStandardOutput.connect(self.EventDataForGetCMDEncoding)
    self.CMD.start("chcp.bat")

def EventDataForGetCMDEncoding(self):
    output = bytearray(self.CMD.readAllStandardOutput())
    output = output.decode("ascii")
    print (output)

.bat文件的内容只有:

chcp

但是如果我想排除但文件,我只执行简单的命令,如:

self.CMD.start("chcp")

它不工作并且不发出任何类型的信号。

其他命令的工作方式如下:

self.CMD.start("ipconfig")
self.CMD.start("help")

你应该尝试

  • 使用文件的完整路径chcp.bat
  • 或者将文件chcp.bat的路径添加到你的系统PATH

并可能确保该文件是可执行的。