Quote:
Originariamente inviato da AbuJaffa
Ciao, grazie per la risposta. Quello che dovrei cercare di fare è di ottenere l'outputstream e inputstream del processo e inviare ad esso "caratteri" senza però inserire il CR finale. Ossia con il "carriage return" finale, l'insieme di caratteri da me inseriti (intendendo byte[]) vengono interpretati come un comando per la shell ma ciò che voglio io è rendere l'input dei caratteri indipendenti dall'essere un comando o meno, per esempio inserendo l'insieme di caratteri "dir" la shell dovrebbe visualizzare il prompt +"dir", mentre inserendo dir\n la shell dovrebbe visualizzare in questo caso l'output di quel comando.
Come potrei fare?
|
La shell funziona così: quando è in attesa di un comando, manda in output il suo prompt e attende un comando terminato dal newline. In quel frangente, quello che riceve dallo standard-input lo scrive sullo standard-output.
Se non è questo quello che vorresti, allora forse non è la soluzione migliore avviare solo e semplicemente la shell e pilotarla come se si dovesse digitare il comando dal prompt!
Forse faresti meglio ad avviare la shell passando già il comando da eseguire:
blabla ... .exec("cmd /C dir");
In questo modo ciò che leggi dallo standard-output del processo è proprio solo l'output del comando dir.