Windows “如何运行”;启动过程测试.bat“;在powershell上下文中

Windows “如何运行”;启动过程测试.bat“;在powershell上下文中,windows,powershell,batch-file,cmd,Windows,Powershell,Batch File,Cmd,我不知道我问的问题是否正确。如果我错了,请纠正我 查询: 我正在尝试使用批处理文件运行windows流量工具“NTTtcp”。 我以“start process test.bat”的形式远程触发windows上的命令 因此,batchfile执行生成一个cmd窗口并在那里执行 1) 有没有办法阻止新窗口的生成? 2) 有没有办法在powershell模式而不是DOS模式下运行相同的程序 3) 是否有一种方法可以捕获在新cmd窗口上运行的输出,因为我使用了重定向操作符,但没有任何效果。我们也检查了

我不知道我问的问题是否正确。如果我错了,请纠正我

查询:

我正在尝试使用批处理文件运行windows流量工具“NTTtcp”。 我以“start process test.bat”的形式远程触发windows上的命令

因此,batchfile执行生成一个cmd窗口并在那里执行

1) 有没有办法阻止新窗口的生成? 2) 有没有办法在powershell模式而不是DOS模式下运行相同的程序 3) 是否有一种方法可以捕获在新cmd窗口上运行的输出,因为我使用了重定向操作符,但没有任何效果。我们也检查了剪辑的可能性,但这也不起作用


-Aprameya

对于没有窗口的运行,下面是要添加到批处理顶部的代码,该批处理将按照Andrew的建议最小化启动

@echo off
if not "%minimized%"=="" goto :minimized
set minimized=true
start /min cmd /C "%~dpnx0" %*
goto :EOF
:minimized

至于等同于NTTtcp的PowerShell,我认为您是制作精良的SOL。如果您在PowerShell中挂断了结果,那么将结果从CMD窗口导出到.txt文件并对其进行解析可能会更干净。

否,要运行.bat,它必须打开一个新的控制台窗口,最好将其最小化,以便“窗口不会弹出”。关于“我可以在powershell中而不是在cmd中运行相同的程序吗?”这很可能是可能的,但这取决于代码,您忽略了在问题主体中分享的代码。如果你想要一个隐藏窗口,或者只是使用PS而不是CMD,那么我们可能会提供帮助。你是否尝试过:
start Process“CMD.exe”“/c test.bat”-nonewindow
我打赌如果你阅读
start Process
cmdlet的帮助,你会看到一个重定向标准输出的示例。