Powershell 如何从批处理文件中获取已打开的cmd窗口并在其中运行命令?

Powershell 如何从批处理文件中获取已打开的cmd窗口并在其中运行命令?,powershell,batch-file,cmd,Powershell,Batch File,Cmd,有一个执行命令(nqcmd)的bat文件。此命令仅在我们以管理员身份打开批处理文件时执行。否则,就会出现错误 我试图以powershell管理员的身份运行批处理文件,如下所示 powershell.exe -Command "start-process -filepath C:\foo.cmd -verb runas" 它会打开两个cmd窗口-一个普通的cmd窗口,其中执行批处理文件,并出现错误: “nqcmd未被识别为内部或外部命令、可操作程序或批处理文件” 和管理员的命令窗口。 但是,在此

有一个执行命令(
nqcmd
)的bat文件。此命令仅在我们以管理员身份打开批处理文件时执行。否则,就会出现错误

我试图以powershell管理员的身份运行批处理文件,如下所示

powershell.exe -Command "start-process -filepath C:\foo.cmd -verb runas"
它会打开两个cmd窗口-一个普通的cmd窗口,其中执行批处理文件,并出现错误:

“nqcmd未被识别为内部或外部命令、可操作程序或批处理文件”

和管理员的命令窗口。 但是,在此窗口中,该批处理文件不会执行。我们必须再次键入批处理文件的名称,然后执行

我想问的是,在一个单独的批处理文件中,我们是否可以使用administrator的cmd窗口实例,然后在其中运行命令,而无需在该窗口中手动键入


谢谢。

启动进程'cmd.exe'-ArgumentList'/c','c:\foo.cmd'-Verb runas
Hi@AnsgarWiechers。我试过了。它打开了两个窗口。第一个是普通的cmd窗口和在其中执行的批处理文件。然后,我在问题中写到的错误出现了,然后,同一个窗口切换到管理员窗口。而且,第二个窗口也是管理员的。显示
foo.cmd
的内容。我无法想象可以从普通用户的帐户以编程方式在管理员的
cmd
实例中执行命令,因为这似乎是一个安全漏洞<代码>'nqcmd不被识别为内部或外部命令、可操作程序或批处理文件',这是否意味着foo.cmd正在调用不存在的东西?您是否尝试过在foo.cmd中指定nqcmd的整个路径?
启动进程'cmd.exe'-ArgumentList'/c','c:\foo.cmd'-Verb runas
Hi@AnsgarWiechers。我试过了。它打开了两个窗口。第一个是普通的cmd窗口和在其中执行的批处理文件。然后,我在问题中写到的错误出现了,然后,同一个窗口切换到管理员窗口。而且,第二个窗口也是管理员的。显示
foo.cmd
的内容。我无法想象可以从普通用户的帐户以编程方式在管理员的
cmd
实例中执行命令,因为这似乎是一个安全漏洞<代码>'nqcmd不被识别为内部或外部命令、可操作程序或批处理文件',这是否意味着foo.cmd正在调用不存在的东西?您是否尝试在foo.cmd中指定nqcmd的整个路径?