是否有任何方法可以在会话结束时将command.exe或powershell的所有控制台输出保存到文件中,而不是通过管道传输每个单独的输出?
我正在尝试保存从批处理脚本运行的应用程序的输出,该脚本在重定向时崩溃,但在打印到终端时可以正常工作。
没关系;所有输出打印到控制台:
func isRestricted(at url: URL) throws -> Bool {
let flags: UInt32 = try url.withUnsafeFileSystemRepresentation { fsRep in
var info = stat()
if stat(fsRep, &info) != 0 {
guard let code = POSIXError.Code(rawValue: errno) else {
throw CocoaError(.fileReadUnknown)
}
throw POSIXError(code)
}
return info.st_flags
}
return flags & UInt32(bitPattern: SF_RESTRICTED) != 0
}
以下所有内容均不产生输出;程序在1-2秒后返回,而不是15-20秒;
C:\TestPlatform\executables> TestApp.exe -c off -d file -q otp 47f64
答案 0 :(得分:2)
我无法重现,但是重定向可能对您的exe不起作用,因为最后一个开关之后的所有文本都被认为是该开关的arg,因此exe会消耗行中的所有内容直到最后一个字符-这将还说明为什么它不能正常运行。
尝试使用以下替代方法登录cmd:
C:\TestPlatform\executables>> logFile.txt 2>&1 TestApp.exe -c off -d file -q otp 47f64
请在提示后记下重定向字符。