我正在尝试使用Node.js程序更改终端目录,但无法实现它。脚本以node app.js dir_name
运行,因此首先我创建目录,然后尝试使用cd命令切换到该目录。目录已创建,但终端目录未更改。
#!/usr/bin/env node
var platform = process.platform;
var figlet = require('figlet');
var chalk = require('chalk');
if(process.argv.length < 3){
console.log(
chalk.green(
figlet.textSync('mdcd', { horizontalLayout: 'full' })
)
);
console.log(chalk.red("Please provide a directory name"));
}else{
if(platform.includes("win")){
//console.log("Its Windows");
}else {
var exec = require('child_process').exec;
var command_1 = "mkdir "+process.argv[2];
var command_2 = "cd "+process.cwd()+"/"+process.argv[2];
exec(command_1, function (error, stdout, stderr) {
if(error){
console.log("Something bad happened"+error);
}else {
exec(command_2, function (error, stdout, stderr) {
if(error){
console.log("Something bad happened"+error);
}
});
}
});
}
}
答案 0 :(得分:0)
来自Node.js脚本的命令提示符目录
您无法更改command prompt
目录。基本上你有进程树:
cmd / term
| -> NodeJs
您不应更改cmd的工作目录。但是,您可以执行命令来更改任何进程的工作目录,例如https://unix.stackexchange.com/a/282009
然而,您可以使用nodejs
https://nodejs.org/api/process.html#process_process_chdir_directory
process.chdir
流程的工作目录(我怀疑您想要这样做)