Существовал ли эквивалент этой команды в пакете:
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"
Спасибо за вашу помощь!