Наш ИТ-отдел переходит на Windows 8, и все начинают использовать PowerShell в качестве среды командной строки Windows по умолчанию, а не cmd.exe
.Как передать необработанные строки командам через командную строку в PowerShell?
К сожалению, 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?
+1 Это отличная ссылка! –
Не знал об этом синтаксисе, спасибо :) –