如何在批处理脚本中运行 Powershell 命令

如何在批处理脚本中运行 Powershell 命令

如何在批处理文件中运行以下命令?

POWERSHELL -Command "& {Get-AppxPackage | %% { Add-AppxPackage -ForceApplicationShutdown -DisableDevelopmentMode -Register "$($_.InstallLocation)\AppxManifest.xml" -verbose }}"

每次我尝试时都会出现错误:

Add-AppxPackage : A positional parameter cannot be found that accepts argument '\AppxManifest.xml'.
At line:1 char:25
+ ... ackage | % {Add-AppxPackage -ForceApplicationShutdown -DisableDevelop ...
+                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidArgument: (:) [Add-AppxPackage], ParameterBindingException
    + FullyQualifiedErrorId : PositionalParameterNotFound,Microsoft.Windows.Appx.PackageManager.Commands.AddAppxPackageCommand

答案1

嗯,您的命令仍然在批处理文件中,因此特殊批处理字符必须转义。我总是使用这个网站,它是一个很好的概述。

https://www.robvanderwoude.com/escapechars.php

根据个人经验,如果需要太多转义,我总是选择将命令放在文件中。

Powershell.exe -ExecutionPolicy Bypass -File yourscript.ps1

相关内容