Javascript 自动将文件移动到另一个文件夹
Javascript automation for files move into another folder
我的服务器中有一个文件夹,其中包含一些文件。这些是自动化的,这意味着我们每天都会自动获取新文件,这些文件将覆盖旧文件。所以想备份这个数据。我如何通过在复制时用当前日期重命名文件来将所有这些文件复制到另一个文件夹中。
例如:我有一个名为 folder1 的文件夹,其中包含 4 个文件。此文件夹的路径是 home/webapps/project1/folder1
aaa.csv
bbb.csv
ccc.csv
ddd.csv
现在我想将所有这四个文件复制到另一个名为 folder2
的文件夹中。此文件夹的路径是 home/webapps/project1/folder2
。在复制这些文件时,我想重命名每个文件并将当前日期添加到文件中。所以我在 folder2
中的文件名应该是..
aaa091012.csv
bbb091012.csv
ccc091012.csv
ddd091012.csv
我想使用 Javascript 为此编写一个脚本。请给我一些想法或一些与此相关的示例脚本。
您可以试试这个代码:
var fs = require('fs');
var path = require('path');
function dateFormat(){
var date = new Date();
var year = (date.getFullYear() + '').slice(2);
var month = (date.getMonth() + 1) < 10 ? '0' + (date.getMonth() + 1) : (date.getMonth() + 1);
var day = date.getDate() < 10 ? '0' + date.getDate() : date.getDate();
return year+month+day;
}
function moveAndRename(sourceDir, destDir){
fs.readdir(sourceDir, function(err, files){
if(err)
return err;
else {
files.forEach(function(file){
var dotIndex = file.lastIndexOf(".");
var name = file.slice(0, dotIndex);
var newName = (name + dateFormat()) + path.extname(file);
var read = fs.createReadStream(path.join(sourceDir, file));
var write = fs.createWriteStream(path.join(destDir, newName));
read.pipe(write);
});
}
});
}
moveAndRename("/home/webapps/project1/folder1",
"/home/webapps/project1/folder2")
您可以使用这个 npm 库:https://github.com/ncb000gt/node-cron,做一些自动化的工作。
我的服务器中有一个文件夹,其中包含一些文件。这些是自动化的,这意味着我们每天都会自动获取新文件,这些文件将覆盖旧文件。所以想备份这个数据。我如何通过在复制时用当前日期重命名文件来将所有这些文件复制到另一个文件夹中。
例如:我有一个名为 folder1 的文件夹,其中包含 4 个文件。此文件夹的路径是 home/webapps/project1/folder1
aaa.csv
bbb.csv
ccc.csv
ddd.csv
现在我想将所有这四个文件复制到另一个名为 folder2
的文件夹中。此文件夹的路径是 home/webapps/project1/folder2
。在复制这些文件时,我想重命名每个文件并将当前日期添加到文件中。所以我在 folder2
中的文件名应该是..
aaa091012.csv
bbb091012.csv
ccc091012.csv
ddd091012.csv
我想使用 Javascript 为此编写一个脚本。请给我一些想法或一些与此相关的示例脚本。
您可以试试这个代码:
var fs = require('fs');
var path = require('path');
function dateFormat(){
var date = new Date();
var year = (date.getFullYear() + '').slice(2);
var month = (date.getMonth() + 1) < 10 ? '0' + (date.getMonth() + 1) : (date.getMonth() + 1);
var day = date.getDate() < 10 ? '0' + date.getDate() : date.getDate();
return year+month+day;
}
function moveAndRename(sourceDir, destDir){
fs.readdir(sourceDir, function(err, files){
if(err)
return err;
else {
files.forEach(function(file){
var dotIndex = file.lastIndexOf(".");
var name = file.slice(0, dotIndex);
var newName = (name + dateFormat()) + path.extname(file);
var read = fs.createReadStream(path.join(sourceDir, file));
var write = fs.createWriteStream(path.join(destDir, newName));
read.pipe(write);
});
}
});
}
moveAndRename("/home/webapps/project1/folder1",
"/home/webapps/project1/folder2")
您可以使用这个 npm 库:https://github.com/ncb000gt/node-cron,做一些自动化的工作。