Отметка времени в имени файла JS - PullRequest
0 голосов
/ 28 сентября 2018

Я хочу добавить метку времени в XML-файл, пока он копируется из местоположения A в B.

const fs = require('fs');

// destination.txt will be created or overwritten by default.
fs.copyFile('\\\\IP\\FOLDER\\FILE.xml', 'c:\\FOLDER\\FILE.xml', (err) => {
  if (err) throw err;
  console.log('OK! Copy FILE.xml');
});

Копия работает, но я не знаю, как добавить метку времени.

1 Ответ

0 голосов
/ 28 сентября 2018

Date.now дает вам метку времени (то есть число, прошедшее с миллисекунд с 1 января 1970 года).

Вы можете добавить его ко второму аргументу для copyFile, чтопуть назначения к имени файла.

Пример:

const fs = require('fs');

// destination.txt will be created or overwritten by default.
fs.copyFile('\\\\IP\\FOLDER\\FILE.xml', `c:\\FOLDER\\FILE_${Date.now()}.xml`, (err) => {
  if (err) throw err;
  console.log('OK! Copy FILE.xml');
});

Обратите внимание на обратные галочки - это строка шаблона JavaScript, которая позволяет добавлять данные, используя ${}.

Если вам нужна строка даты текущего дня, как вы указали в комментариях, вы можете написать небольшую вспомогательную функцию, которая создаст эту строку:

const fs = require('fs');

function getDateString() {
  const date = new Date();
  const year = date.getFullYear();
  const month = `${date.getMonth() + 1}`.padStart(2, '0');
  const day =`${date.getDate()}`.padStart(2, '0');
  return `${year}${month}${day}`
}

// destination.txt will be created or overwritten by default.
fs.copyFile('\\\\IP\\FOLDER\\FILE.xml', `c:\\FOLDER\\FILE_${getDateString()}.xml`, (err) => {
  if (err) throw err;
  console.log('OK! Copy FILE.xml');
});

Это создаст имя файла, подобное этому: FILE_20182809.xml

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...