我们的 IT 部门正在迁移到 Windows 8,每个人都开始使用 PowerShell 作为他们的默认 Windows 命令行环境,而不是cmd.exe
.
不幸的是,PowerShell 会评估您输入的内容,并且很难将原始命令行参数传递给程序。
例如,我有一个程序inventory.exe
,它采用一个特殊的字符串来格式化其输出。我无法在 PowerShell 中传递这个特殊字符串,因为我得到一个神秘的错误:
PS C:\Users\Administrator> inventory.exe 'inventory "," date "," owner'
inventory.exe error: No comma allowed
我假设 PowerShell'inventory "," date "," owner'
以某种方式评估了字符串,并且其他东西被传递给inventory.exe
程序,结果它打印了一个错误。
该程序可以正常工作cmd.exe
:
C:\Documents and Settings\boda> inventory.exe 'inventory "," date "," owner'
... (the output that I expect) ...
如果我在 PowerShell 中键入诸如%
,之类的字符,情况会变得更糟。$
有谁知道如何将原始字符串传递给 PowerShell 中的命令?