从Node.js脚本更改命令提示符目录

时间:2017-07-12 06:14:00

标签: node.js npm

我正在尝试使用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);
                     }
                 });
              }
            });
    }
}

1 个答案:

答案 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流程的工作目录(我怀疑您想要这样做)