Kirjoittaja Aihe: RATKAISTU: Windows/PowerShell ja node skriptin ajo silmukassa  (Luettu 5545 kertaa)

JA5U

  • Käyttäjä
  • Viestejä: 463
    • Profiili
Hei

Nyt ei meinaa aueta, että miksei nodejs skripti hyväksy ao. silmukassa syötettäviä parametrejä vaan kysyy niitä.
PowerShell nuskii tässä ensin kaikki kansiot ja silmukoi ne läpi, jolloin silmukassa kutsutaan nodeskriptiä, joka tekee temput kansiolle.
Koodia: [Valitse]
Get-ChildItem -Path . | ?{ $_.PSIsContainer } | ForEach-Object { nodeskriptinimi $_.Name "$($_.Name).json" }
Sekä PS-skripti että nodeskripti toimivat, mutta jostain syystä nodeskripti ei kuitenkaan saa tai hyväksy noita PS-skriptin silmukassa annettavia arvoja.
« Viimeksi muokattu: 14.11.18 - klo:09.57 kirjoittanut JA5U »

JA5U

  • Käyttäjä
  • Viestejä: 463
    • Profiili
Vs: Windows/PowerShell ja node skriptin ajo silmukassa
« Vastaus #1 : 14.11.18 - klo:09.53 »
Eikä sitten millään.

Vaihdoin tuon kutsunkin suoraan node.exe, jolle annan parametreinä ko. node skriptin/moduulin sekä sen parametrit.

Nodeskripti käynnistyy edelleen, muttei kuitenkaan saa tarvitsemiaan parametrejä vaan kysyy niitä.
Suoraan komentokehotteesta ajettuna se toimii kutsumalla: mymodule parametri1 parametri2.

Koodia: [Valitse]
Get-ChildItem -Path . | ?{ $_.PSIsContainer } | ForEach-Object {
    Start-Process 'C:\node\node.exe' -ArgumentList 'C:\node\node_modules\mymodule\index.js', $_, $_+'.json'
}

JA5U

  • Käyttäjä
  • Viestejä: 463
    • Profiili
Vs: Windows/PowerShell ja node skriptin ajo silmukassa
« Vastaus #2 : 14.11.18 - klo:09.57 »
No nyt ratkesi. Siinä piti jostain syystä käyttää parametrin tunnisteista -s -o, jotta se osasi lukea arvot.
Komentoriviltä se hyväksyi ne paikan mukaan.

Huh, mutta olipahan lopulta kätevä, kun sai ajettua 26 kansiota ja 200 tiedostoa yhdellä skriptillä.