#javascript #reactjs #fs
Вопрос:
Следующий метод отлично работает при переименовании одной папки, не содержащей файлов. Это не работает при переименовании папки, содержащей один или несколько файлов.
const handleRenameFile = () => {
const oldPath = `./${directory}/${fileName}`;
const newPath = `./${directory}/${name}`;
fs.renameSync(oldPath, newPath, (err) => {
if (err) {
throw err;
}
});
};
EPERM: операция не разрешена, переименуйте «./Старый путь» ->». /Новый путь»
Таким образом, я открыт для любого альтернативного решения, которое может достичь поставленной цели.
Ответ №1:
Пожалуйста, ознакомьтесь с документацией.
https://nodejs.org/api/fs.html#fs_fs_renamesync_oldpath_newpath
Более подробную информацию см. в документации по переименованию POSIX(2).
https://man7.org/linux/man-pages/man2/rename.2.html
oldpath может указать каталог. В этом случае newpath должен либо не существовать, либо указывать пустой каталог.