【发布时间】:2015-09-16 14:48:58
【问题描述】:
我正在尝试使用 mv 模块将文件从一个目录移动到另一个目录。问题是,一旦文件被移动,源目录就会被删除。我不想要这个,我只想要从源目录中删除移动的文件。源目录应该保留(即使它是空的)。不确定如何使用 mv 模块执行此操作(或者是否有任何其他选项)。
我的代码
var pathToPdf = path.join(__dirname, '../pathToPdf/');
` var intermediate = path.join(__dirname, '../intermediate/');
fs.readdir(pathToPdf, function(err, files) {
if (err) return;
files.forEach(function(file){
mv(pathToPdf, intermediate, function(err) {
if(err){
console.log("oops!")
}
});
----move code ---
此代码将文件移动到中间目录,但 pathToPdf 目录被删除,我想避免这种情况。请指教。
【问题讨论】:
-
请出示
mv()的代码。 -
var mv = require('mv'); npmjs.com/package/mv
-
如果源和目标在同一个卷上,那么源目录只是重命名为目标位置,因此源不再存在。这就是
mv()的编写方式。另外,您为什么要使用files.forEach(),然后不使用您正在迭代的file?你的代码在这方面看起来是错误的。 -
谢谢!我能够解决这个问题。由于它是生产代码,我无法粘贴整个代码:但我让它按我的意愿工作。下面的代码段: files.forEach(function(file){ mv(pathToPdf+file, intermediate+file, function(err) { if(err){ console.log("oops!") } });
标签: javascript node.js