Windows 从脚本打开Powershell后将命令传递给管理员Powershell

Windows 从脚本打开Powershell后将命令传递给管理员Powershell,windows,powershell,cmd,Windows,Powershell,Cmd,通过命令提示符,我希望以管理员的身份打开Powershell,并传递一个命令让它执行。命令很简单:删除目录中的所有.txt文件。我很难将此命令传递到Admin Powershell。以下是我正在尝试的: powershell-Command“启动进程powershell-动词runAs |删除项-路径C:\MyFolder\*.txt” 到目前为止,Powershell窗口已打开,但未执行任何操作。问题 您只是将Start Process的$null输出管道传输到删除项,这毫无意义 解决方案 第

通过命令提示符,我希望以管理员的身份打开Powershell,并传递一个命令让它执行。命令很简单:删除目录中的所有.txt文件。我很难将此命令传递到Admin Powershell。以下是我正在尝试的:

powershell-Command“启动进程powershell-动词runAs |删除项-路径C:\MyFolder\*.txt”

到目前为止,Powershell窗口已打开,但未执行任何操作。

问题 您只是将
Start Process
$null
输出管道传输到
删除项
,这毫无意义

解决方案 第二次Powershell调用应使用
-Command
参数:

powershell -command Start-Process powershell -Verb runAs -ArgumentList @('-Command', 'Remove-Item', \"'C:\MyFolder\*.txt'\")
-command
后面的命令行不需要被引用,这简化了嵌套引用

Remove Item
参数的引号看起来有些奇怪,需要它来支持带空格的路径。首先,cmd解析器将解析反斜杠转义双引号,最后,
Remove Item
调用如下所示:

Remove-Item 'C:\MyFolder\*.txt'
您还可以以字符串格式将删除项作为参数传递

powershell -Command  "start-process powershell -Verb RunAs -Args 'Remove-Item -Path C:\MyFolder\*.txt'"