Вы делаете это неправильно.Это: \\\\
не имеет смысла.Имейте в виду, что то, что вы видите на stdout
и то, что вы видите в своем коде, не одно и то же.
const path = 'D:\\transfer\\roliki\\rolikiNOW\\Реклама - ALESA04032016.mp3';
console.log(path);
Выводит: 'D:\transfer\roliki\rolikiNOW\Реклама - ALESA04032016.mp3'
, и именно так Javascript будет воспринимать это какsingle \
, который является допустимым путем.Вы пытаетесь достичь \\
(то, что вы видите в своем коде) с помощью \\\\
, но Windows не требует двойной обратной косой черты, ей нужен только один.
Вы пытались эмулировать: 'D:\\transfer\\roliki\\rolikiNOW\Реклама - ALESA04032016.mp3'
печатая: 'D:\\\\transfer\\\\roliki\\\\rolikiNOW\Реклама - ALESA04032016.mp3'
Итак, у меня нет всего контекста, но эти две строки:
let source = arrPath[i].replace(/\\/g, "\\\\"); // change one slash to double
let destiny = pathToCollect.replace(/\\/g, "\\\\") + "\\\\" + path.parse(arrPath[i]).base; //destination directory
// ^^ this is wrong, very wrong, use path.join
Должны быть (Предполагая, arrPath[i]
& pathToCollect
)допустимые пути.
const basename = path.parse(arrPath[i]).base;
const source = arrPath[i]; // I need to see what `arrPath` is
const destiny = path.join(pathToCollect, basename); //destination directory
Вы должны всегда использовать path.join
вместо использования конкатенации строк.
ОБНОВЛЕНИЕ:
Ваш arrPath
массив неверен.
Если эти пути жестко запрограммированы, вы должны избегать обратной косой черты, в противном случае, \t
- это вкладка, \r
- возврат каретки.
const arrPath = [
"D:\transfer\roliki\rolikiNOW\Реклама - ALESA04032016.mp3",
"D:\transfer\roliki\rolikiNOW\Реклама - MnogoMebeli.mp3",
"D:\transfer\roliki\rolikiNOW\Реклама - ВИ.mp3"
];
должно быть:
const arrPath = [
"D:\\transfer\\roliki\\rolikiNOW\\Реклама - ALESA04032016.mp3",
"D:\\transfer\\roliki\\rolikiNOW\\Реклама - MnogoMebeli.mp3",
"D:\\transfer\\roliki\\rolikiNOW\\Реклама - ВИ.mp3"
];
const wrongPaths = [
"D:\transfer\roliki\rolikiNOW\Реклама - ALESA04032016.mp3",
"D:\transfer\roliki\rolikiNOW\Реклама - MnogoMebeli.mp3",
"D:\transfer\roliki\rolikiNOW\Реклама - ВИ.mp3"
];
const correctPaths = [
"D:\\transfer\\roliki\\rolikiNOW\\Реклама - ALESA04032016.mp3",
"D:\\transfer\\roliki\\rolikiNOW\\Реклама - MnogoMebeli.mp3",
"D:\\transfer\\roliki\\rolikiNOW\\Реклама - ВИ.mp3"
];
console.log('Bad:')
for(const path of wrongPaths)
console.log(path);
console.log('Ok:')
for(const path of correctPaths)
console.log(path);