如何解决cmd与Powershell问题
如果我在PowerShell中运行命令,则一切正常。但是,如果我在cmd中运行它,将无法正常工作。
背景:我将创建一个批处理,该批处理可在安装了iso的每个系统上运行,然后运行需要该iso的exe。我想使用批处理而不是ps1,因为我对ps1签名不熟悉,并且它可以在所有系统上正常运行。
对于PowerShell
Mount-diskimage ((Get-Item -Path ".\" -Verbose).FullName+"\data.iso")
对于cmd
PowerShell Mount-diskimage ((Get-Item -Path ".\" -Verbose).FullName+"\data.iso")
错误:
Die Zeichenfolge hat kein Abschlusszeichen: ".
+ CategoryInfo : ParserError: (:) [],ParentContainsErrorRecordException
+ FullyQualifiedErrorId : TerminatorExpectedAtEndOfString
解决方法
\
转义符可能会引起引用的目录路径包含尾部反斜杠,因为行末尾的引号"
将被转义\"
。
要保存带有尾随反斜杠(\)
的目录路径,需要添加第二个反斜杠来“转义转义符”
因此,例如,使用"C:\My Docs\"
代替"C:\My Docs\\"
您必须将命令括在大括号中,并在其前面加上与号(&
),然后执行并用引号将其引起来:
PowerShell "& {Mount-DiskImage ((Get-Item -Path .\ -Verbose).FullName+"\data.iso")}"
您可以了解更多有关如何使用命令行选项here调用PowerShell的信息。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。