I know I might be a bit late to answer this question but I hope it can still help someone.
The way I achieved it was with the oShell.Exec() function and not with the oShell.Run().
oShell.Exec() returns an object with a property called StdOut which acts like a text file, so you can perform ReadLine(), ReadAll(), etc.
The problem is that it does not wait for the command to end, so when you run your code, it is very likely that your StdOut object will be undefined. You have to add that waiting option on the command itself.
var wshShell = new ActiveXObject("WScript.Shell");
try {
// Excecute the 'cd' command.
wshShell.CurrentDirectory = "C:\\Users";
var execOut = wshShell.Exec('cmd /C start /wait /b cd');
}
catch (e) {
console.log(e);
}
// Get command execution output.
var cmdStdOut = execOut.StdOut;
var line = cmdStdOut.ReadLine();
console.log(line);
The code above will execute a cd command on the directory C:\Users and store the output on the line variable.
I hope this answers the question.