# Метод rename

Метод `rename` переименовывает файл. В первом параметре метода указываем исходный путь к файлу, во втором параметре - новый путь к файлу, в третьем необязательном параметре - коллбэк.

## Синтаксис

`fs.rename(исходный путь, новый путь, [коллбэк]);`

## Пример

Пусть у нас есть следующая файловая структура:

<$structure$> /dir1/ file1.txt <-structure->

Давайте асинхронно переименуем файл через `await`:

`import fs from 'fs/promises'; try { await fs.rename('./dir1/file1.txt', './dir1/file2.txt'); console.log('file renamed'); } catch (err) { console.log(err); }`

## Пример

Теперь давайте асинхронно переименуем файл через `then`:

`import fs from 'fs/promises'; fs.rename('./dir1/file2.txt', './dir1/file3.txt').then(() => { console.log('file renamed'); }).catch((err) => { console.log(err); });`

## Пример

Давайте асинхронно переименуем файл через коллбэк:

`import fs from 'fs'; fs.rename('./dir1/file3.txt', './dir1/file1.txt', err => { if (!err) { console.log('file renamed'); } else { console.log(err); } });`

## Пример

Теперь давайте синхронно переименуем файл через `renameSync`:

`import fs from 'fs'; try { fs.renameSync('./dir1/file1.txt', './dir1/file2.txt'); console.log('file renamed'); } catch (err) { console.log(err); }`

## Смотрите также

- метод `copyFile`,
  который копирует файл
- метод `link`,
  который изменяет путь к файлу

← →
↑