在Groovy中,我可以直接运行Windows cmd shell,并像这样读取结果:
def proc = "cmd /c dir".execute()
proc.wait()
println "stdout: ${proc.in.text}"
但是,如果我尝试使用PowerShell,它会阻塞并且不会返回:
def proc = "powershell dir".execute()
我试过了
def proc = "powershell -NonInteractive dir".execute()
等等,但是它们都阻塞了,我不得不终止Groovy脚本。
与PowerShell中用于获取返回脚本的结果的cmd的/c
开关等效的是什么?
6条答案
按热度按时间eeq64g8w1#
使用-command参数:
powershell -command "dir"
pokxtpni2#
您可以使用列表表单:
baubqpgj3#
我使用了一个Groovy类来执行一个PowerShell脚本。这比仅仅执行一个命令要复杂一点,但我认为这可能会有帮助。
然后我可以执行脚本:
8tntrjer4#
使用此命令:
omvjsjqw5#
对于类似列表目录的简单命令:
要在cmd中运行PowerShell脚本,应使用编码命令,如:
然后:
我的结果:
ffx8fchx6#
下面是我使用的方法: