Я пытаюсь вызвать сценарий powershell из командного файла.powershell в файле командного файла как переменная
У меня есть следующие
for /F "usebackq delims=" %%a in (
'PowerShell.exe -ExecutionPolicy ByPass -Command "(@(Select-String %QUERY% %FILE% -Context 0, 1 | % {$_.Context.PostContext}))"'
) do set RESULT=%%a
echo %RESULT%
Но %RESULT%
печатает всю команду не результат.
Все, что я пытаюсь сделать, это прочитать файл для флага, а затем возвращает следующую строку как %RESULT%
Я побежал следующее из командной строки
PowerShell.exe -ExecutionPolicy ByPass -Command "& (Select-String FAILED e:\path\to\app.log -Context 0, 1 | % {$_.Context.PostContext})"
и получил этот
& : The term ':generic/generic.k4.csv' is not recognized as the name of a cmdlet, function, script file, or operable program. Check the spelling of
the name, or if a path was included, verify that the path is correct and try again.
At line:1 char:3
+ & (Select-String FAILED e:\path\to\app.log -Context 0 ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : ObjectNotFound: (:generic/generic.k4.csv:String) [], CommandNotFoundException
+ FullyQualifiedErrorId : CommandNotFoundException
Он также должен избегать трубы с '^ |'. – SomethingDark
@SomethingDark Обычно я согласен, но когда я запускал команду, она выполнялась правильно, не вырываясь из трубы. ¯ \\ _ (ツ) _/¯ –
Я был [упрек до] (http://stackoverflow.com/questions/35962454/35962630#comment59585741_35962630) за то, что предложил кому-то избежать символа, который не был строго необходим парсер, поэтому я не собираюсь предлагать его снова, если я не уверен, что код не будет работать без него. –