Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/powershell/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Powershell未在cmd上运行_Powershell_Cmd - Fatal编程技术网

Powershell未在cmd上运行

Powershell未在cmd上运行,powershell,cmd,Powershell,Cmd,我正在尝试运行以下命令,但当我执行该命令时,CMD窗口将关闭,而不执行该命令 命令是 cmd.exe /c powershell.exe (New-Object System.Net.WebClient).DownloadFile(https://site,'%temp%\file.txt');Start-Process '%temp%\file.txt' 这里根本不需要cmd。您也可以在没有外壳的情况下生成进程。此外,引用参数通常是一个好主意,以避免在参数解析时出现意外(cmd例如对括号有自

我正在尝试运行以下命令,但当我执行该命令时,CMD窗口将关闭,而不执行该命令

命令是

cmd.exe /c powershell.exe (New-Object System.Net.WebClient).DownloadFile(https://site,'%temp%\file.txt');Start-Process '%temp%\file.txt'

这里根本不需要
cmd
。您也可以在没有外壳的情况下生成进程。此外,引用参数通常是一个好主意,以避免在参数解析时出现意外(
cmd
例如对括号有自己的含义,这在这里可能会产生干扰)

powershell-Command“(新对象系统.Net.WebClient).DownloadFile('https://site“,$Env:Temp+'\file.txt');调用项$Env:Temp\file.txt”

我还为您要下载的URL添加了引号,因为如果不这样做,也不会起作用。由于
cmd
不再存在,环境变量也可以通过PowerShell进行扩展,使用不同的语法

Start Process
也用于启动流程,并且
Invoke Item
更接近您实际需要的内容,尽管我确信使用
ShellExecute
行为,
Start Process
也可以根据需要启动带有文本文件的记事本



如果有疑问,最好减少所需的零件、工艺和不同包装概念的数量。与您不在PowerShell中使用
Invoke Expression
来运行其他程序的原因相同:这是不必要的,并且引入了另一层解析和解释,使一切变得更加复杂。

当您已经从一个cmd.exe窗口运行命令时,为什么还要打开另一个cmd.exe窗口?我会提供以下选项:
%SystemRoot%\System32\WindowsPowerShell\v1.0\powershell.exe-NoLogo-NoProfile-Command“(新对象系统.Net.WebClient).下载文件('https://domain.name/file.name“,“%temp%\file.txt”);启动进程-文件路径“%temp%\file.txt”
谢谢。这两个建议都奏效了