如果我在PowerShell中运行我的命令,一切工作正常。但是如果我在cmd中运行它,它就不能工作。
背景:我将创建一个批处理,该批处理在每个挂载iso的系统上工作,然后运行需要该iso的exe。我想使用批处理而不是ps1,因为我不熟悉ps1签名,如果它在所有系统上运行都没有问题。
对于PowerShell Mount-DiskImage ((Get-Item -Path ".\" -Verbose).FullName+"\data.iso")
用于命令PowerShell Mount-DiskImage ((Get-Item -Path ".\" -Verbose).FullName+"\data.iso")
错误:
Die Zeichenfolge hat kein Abschlusszeichen: ".
+ CategoryInfo : ParserError: (:) [], ParentContainsErrorRecordException
+ FullyQualifiedErrorId : TerminatorExpectedAtEndOfString发布于 2020-09-10 16:23:51
对于包含反斜杠的带引号的目录路径,\转义可能会导致问题,因为行尾的右引号"将转义为\"。
要保存带有尾随反斜杠的目录路径,(\)需要添加第二个反斜杠来“转义”,例如,使用"C:\My Docs\"而不是"C:\My Docs\\"
发布于 2020-09-10 16:42:12
你必须用大括号把你的命令括起来,在它前面加上一个与号(&)来执行它,并用引号将它括起来:
PowerShell "& {Mount-DiskImage ((Get-Item -Path .\ -Verbose).FullName+"\data.iso")}"您可以阅读有关如何使用命令行选项here调用PowerShell的更多信息。
https://stackoverflow.com/questions/63825156
复制相似问题