Эквивалент Powershell в партии - PullRequest
0 голосов
/ 29 ноября 2018

Существовал ли эквивалент этой команды в пакете:

Powershell -nop  -c "(cat test.json | ConvertFrom-Json).nodes | where {$_.id -eq item1'} | foreach {$_.apps.id} | tee output.txt"

С использованием команды "for":

for /f "tokens=1,2" %%i in (test.json) do.... 

Моя компания отключила PowerShell, поэтому я не могу использовать команду Powershell...

JSON-файл:

"nodes": [
    {
    "id": "item1",
    "apps": [
    {
      "id": "value1",             
    },
    {
      "id": "value2",     
    },

    {
      "id": "value2",     
    },

    "id": "item2",
  "apps": [
    {
      "id": "value1",

    },
    {
      "id": "value2",  
    },

    {
      "id": "value2",  
    },

ОБНОВЛЕНИЕ:

Я пытался использовать функцию моего файла .ps1, но она не работает.Вероятно, потому, что моя команда неверна.Как я могу реализовать это хорошо?

Convert-Json.ps1:

function ConvertTo-Json20([object] $item){
    add-type -assembly system.web.extensions
    $ps_js=new-object system.web.script.serialization.javascriptSerializer
    return $ps_js.Serialize($item)
}

function ConvertFrom-Json20([object] $item){ 
    add-type -assembly system.web.extensions
    $ps_js=new-object system.web.script.serialization.javascriptSerializer

    #The comma operator is the array construction operator in PowerShell
    return ,$ps_js.DeserializeObject($item)
}

командный файл:

Powershell -nop  -c "(cat ". .\Convert-Json.ps1; ConvertFrom-Json20 -item "myfile.json").nodes | where {$_.id -eq '%%i'} | foreach {$_.apps.id} | tee %mode%\%%i\services_%%i.txt"

Спасибо за вашу помощь!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...