将Powershell命令转换为CMD

将Powershell命令转换为CMD,powershell,Powershell,我有以下要运行的PowerShell命令: 然后我有一个cmd.exe行执行PowerShell的示例: powershell -NoProfile -Command "Get-AppxPackage -allusers *messaging* | Remove-AppxPackage" 我想获得一些帮助,以将上面的PowerShell行转换为cmd.exe行版本。这应该可以做到: powershell.exe -Command "& {Get-AppxPackag

我有以下要运行的PowerShell命令:

然后我有一个cmd.exe行执行PowerShell的示例:

powershell -NoProfile -Command "Get-AppxPackage -allusers *messaging* | Remove-AppxPackage"

我想获得一些帮助,以将上面的PowerShell行转换为cmd.exe行版本。

这应该可以做到:

powershell.exe -Command "& {Get-AppxPackage -allusers mspaint | Foreach {Add-AppxPackage -DisableDevelopmentMode -Register `"$($_.InstallLocation)\AppXManifest.xml`"}}"
From:

这是有效的(没有
-whatif
),尽管我不确定您为什么要这样做。你甚至可以省略最后的双引号。Cmd只理解双引号来转义管道

powershell "Get-AppxPackage -allusers microsoft.mspaint | Foreach {Add-AppxPackage -DisableDevelopmentMode -Register ($_.InstallLocation + '\AppXManifest.xml') -whatif }"
此代码有效

powershell“获取AppxPackage-allusers mspaint | Foreach{Add AppxPackage-DisableDevelopmentMode-Register($\uxInstallLocation+'\AppXManifest.xml')}”


谢谢你们的帮助,伙计们

“cmd行版本”是什么意思?cmd行在旧DOS框中(批处理文件)。。。。命令行您可能应该将该信息添加到问题中。[咧嘴笑]现在看来,你的帖子是。。。模糊到几乎无法理解的程度。//
Joost
发布的答案涵盖了从BAT文件运行PoSH代码的基本思想-使用正确的参数调用
Powershell.exe
。[咧嘴笑]诡计问题。mspaint不是appxpackage。谢谢。。。我确实试过这个。。。但是我在语句块或类型定义中得到了一个-缺少结尾'}'CategoryInfo:ParserError:(:)[],ParentContainerRorRecordException+FullyQualifiedErrorId:MissingendCurlyBrace我认为这与双引号有关,我可能错误地转义了双引号。您可以不使用反斜杠进行尝试:
powershell.exe-Command“&{Get-AppxPackage-allusers-mspaint | Foreach{Add-AppxPackage-DisableDevelopmentMode-Register“$($.InstallLocation)\AppXManifest.xml”}”
反斜杠似乎有效。这个问题有个错误。该应用程序名为microsoft.mspaint。抱歉,它应该是mspaint,应该有astrix。。。当这个网站使用它们时,它剥离了它们LOLpowershell.exe命令“&{Get AppxPackage-allusers mspaint | Foreach{AddAppxPackage-DisableDevelopmentMode-Register”$($.InstallLocation)\AppXManifest.xml“}”)对我来说不起作用,它运行了,但什么也没有发生
powershell "Get-AppxPackage -allusers microsoft.mspaint | Foreach {Add-AppxPackage -DisableDevelopmentMode -Register ($_.InstallLocation + '\AppXManifest.xml') -whatif }"