exec と spawn は新しいプロセスを作成するため、これを行うことはできません。しかし、これをシミュレートする方法があります。exec でプロセスを開始し、同時に複数のコマンドを実行できます: コマンド ラインで、同じ行で 3 つのコマンドを実行する場合は、次のように記述します。
cmd1 & cmd2 & cmd3
したがって、3 つのコマンドはすべて同じプロセスで実行され、以前に実行されたコマンドによって変更されたコンテキストにアクセスできます。あなたの例を見てみましょう。あなたは cd ../ を実行し、その後 dir を実行して以前のディレクトリリストを表示したいとします。cmd に次のように記述します。
cd../ & dir
ノード js から、exec でプロセスを開始し、インライン スクリプトを評価する別のノード インスタンスを開始するように指示できます。
var exec = require('child_process').exec;
var script = "var exec = require('child_process').exec;exec('dir',function(e,d,er){console.log(d);});";
script = '"'+script+'"';//enclose the inline script with "" because it contains spaces
var cmd2 = 'node -e '+script;
var cd = exec('cd ../ &'+cmd2,function(err,stdout,strerr)
{
console.log(stdout);//this would work
})
現在のディレクトリを変更したいだけの場合は、それに関するドキュメントを確認する必要がありますhttp://nodejs.org/api/child_process.html#child_process_child_process_exec_command_options_callback