如何在windows上为Node.js设置工作目录?

如何在windows上为Node.js设置工作目录?,windows,node.js,Windows,Node.js,我刚刚安装了node.js for windows,让它运行起来真是轻而易举。我想将其作为构建过程的一部分,将几个文件组合在一起,如下所示: // settings var FILE_ENCODING = 'utf-8', EOL = '\n', DIST_FILE_PATH = 'dist/myAwesomeScript.js'; // setup var _fs = require('fs'); function concat(fileList, distPath) {

我刚刚安装了node.js for windows,让它运行起来真是轻而易举。我想将其作为构建过程的一部分,将几个文件组合在一起,如下所示:

// settings
var FILE_ENCODING = 'utf-8',
    EOL = '\n',
    DIST_FILE_PATH = 'dist/myAwesomeScript.js';

// setup
var _fs = require('fs');

function concat(fileList, distPath) {
    var out = fileList.map(function(filePath){
            return _fs.readFileSync(filePath, FILE_ENCODING);
        });
    _fs.writeFileSync(distPath, out.join(EOL), FILE_ENCODING);
    console.log(' '+ distPath +' built.');
}

concat([
    'foo/bar.js',
    'foo/lorem.js',
    'foo/maecennas.js'
], DIST_FILE_PATH);
这真的很有魅力。但是,只有当我将所有脚本放入nodejs目录(即C:\Program Files(x86)\nodejs)并使用管理员权限启动cmd进程时,它才起作用

但是我需要将我的项目文件放在另一个目录中(比如D:\git\projectx\),并且希望能够运行:node.exe D:\git\projectx\combine.js。不幸的是,情况并非如此,因为node.exe将在其自己的目录C:\Program files(x86)\nodejs中查找文件。必须启动nodejs进程并告诉它使用另一个目录作为其工作目录,我错了吗

更新

正如有人在IRC上指出的那样。我的问题的解决办法相当简单。只需将
cd
放入
D:\git\projectx
,然后使用
node.exe combine.js
。这使得脚本中的当前目录指向
D:\git\projectx


然而,我接受卢克的答案,因为它似乎也是真实的;-)

您可以使用Unix样式的路径名设置当前工作目录:

process.chdir('/temp/foo'); process.chdir('/temp/foo'); 但我不确定如何指定驱动器前缀(
D:

process.chdir('D:\\\git\\projectx')

您可以始终使用
\uuuu dirname
表示您所在脚本的目录

process.chdir(__dirname);

这(几乎)与上面的答案完全相同。实际上,这是
process.chdir('D:\\git\\projectx')
-D:后面加上两个斜杠,而不仅仅是将驱动器添加到目录字符串中
process.chdir('c:/users');process.cwd()?我们应该把这行写在哪里?我写这篇文章是在点击和试用的基础上,但没有成功
process.chdir(__dirname);