windows - Fra en Rhino JS-konsol-runde cd produceres undtagelse

Indlæg af Hanne Mølgaard Plasc

Problem



Når du forsøger at runCommand ('cd', '..') inde i en js.jar-konsol kastes en IOException.

Jeg tror det er fordi kommandoproppen i cd'en faktisk er indbygget i konsollen og ikke en separat .exe-fil. RunCommand ('notesblok') fungerer fint, og at .exe kan findes på klassepaden i det sædvanlige Beliggenhed.


Er der et arbejde rundt for dette?


Jeg tænkte på at ændre mappen via java i stedet for gennem kommandoprompten, det kan løse dette problem, men jeg husker ikke hvordan man gør det fra java, men jeg planlægger at forsøge at finde ud af det.


Sammenfattende: Er der mulighed for at køre 'cd' fra en Rhino JS-konsol på vinduer?


Tak,
L-

Bedste reference


Flere problemer at løse her; det afhænger af hvad du forsøger at gøre.


runCommand kører faktisk eksekverbare programmer. cd er ikke en eksekverbar på Windows; det er en kommando i kommandoskallen. Så du vil skulle udføre noget mere som dette:


runCommand("cmd","/c","cd <target-directory>")


Den underliggende Java runtime tillader dig dog ikke at ændre arbejdsarkivet. Se denne StackOverflow diskussion. Så shelling out cd ændrer bare biblioteket til underprocessen (processen kører cd), hvilket sandsynligvis ikke er, hvad du vil.