文件的节点自动化移动到另一个文件夹

时间:2015-04-02 04:10:20

标签: javascript jquery angularjs node.js backbone.js

  • 是否可以在节点js中编写相同的shell脚本文件

    • 在下面提供我的代码

    cd / home / webapps / project1 / folder1 for f in * .csv 做    cp -v $ f /home/webapps/project1/folder2/${f%.csv}$(date +%m%d%y).csv 完成

    • 我想要实现的目标如下:

我的服务器中有一个包含一些文件的文件夹。这些都是自动化的,这意味着我们每天都会自动获取新文件,这将覆盖旧文件。所以想要备份这些数据。如何通过在复制时使用当前日期重命名文件,将所有这些文件复制到另一个文件夹中。

1 个答案:

答案 0 :(得分:0)

以下是使用fs

的工作示例
var fs = require('fs'),
    input_path = '/home/webapps/project1/folder1/',
    output_path = '/home/webapps/project1/folder2/';

fs.readdir(input_path, function(err, files) {
    var date = new Date();

    date = ('0' + (date.getMonth()+1)).slice(-2) + ''
         + ('0' + date.getDate()).slice(-2) + ''
         + ('0' + (date.getFullYear())).slice(-2);

    files.forEach(function(file) {
        var name, extension;

        // Check for *.CSV files
        if (file.toLowerCase().indexOf('.csv') !== file.length - 4) return;

        name = file.substr(0, file.length - 4);
        extension = file.substr(-4);

        // Copy file
        fs.createReadStream(input_path + file).pipe(fs.createWriteStream(output_path + name + date + extension));
    });
});