如何从cmd.exe执行powershell命令(不是来自ps1文件)

bal*_*oss 5 powershell

我试图从cmd执行powershell if-else.例如,为了检查D:驱动器名称中有"temp"的文件数,我用过,

if(($i=ls D:\* | findstr /sinc:Temp).count -ne 0 ) {Write-Host $i}
Run Code Online (Sandbox Code Playgroud)

从PS窗口可以正常工作

但如果想从cmd做同样的事情,我该怎么做?我试过了

powershell -noexit if(($i=ls D:\* | findstr /sinc:Temp).count -ne 0 ) {Write-Host $i}
Run Code Online (Sandbox Code Playgroud)

不幸的是没有用.

uta*_*ngo 16

只需将命令放在双引号中:

powershell "if(($i=ls D:\* | findstr /sinc:Temp).count -ne 0 ) {Write-Host $i}"
Run Code Online (Sandbox Code Playgroud)

我也认为你这里不需要-NoExit开关.此开关可防止PowerShell在运行命令后退出.如果要返回cmd,请删除此开关.