Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/sindresorhus/move-file
Move a file - Even works across devices
https://github.com/sindresorhus/move-file
Last synced: 4 days ago
JSON representation
Move a file - Even works across devices
- Host: GitHub
- URL: https://github.com/sindresorhus/move-file
- Owner: sindresorhus
- License: mit
- Created: 2017-11-03T10:40:00.000Z (about 7 years ago)
- Default Branch: main
- Last Pushed: 2023-11-05T07:53:24.000Z (about 1 year ago)
- Last Synced: 2024-12-01T01:03:48.988Z (11 days ago)
- Language: JavaScript
- Size: 24.4 KB
- Stars: 198
- Watchers: 7
- Forks: 15
- Open Issues: 0
-
Metadata Files:
- Readme: readme.md
- Funding: .github/funding.yml
- License: license
- Security: .github/security.md
Awesome Lists containing this project
- awesome-nodejs-cn - move-file - 甚至可以跨设备使用的移动文件工具 (包 / 文件系统)
- awesome-nodejs - move-file - Move a file, even works across devices. ![](https://img.shields.io/github/stars/sindresorhus/move-file.svg?style=social&label=Star) (Repository / Filesystem)
- awesome-nodejs - move-file - Move a file, even works across devices. (Packages / Filesystem)
- awesome-nodejs - move-file - Move a file - Even works across devices - ★ 103 (Filesystem)
- awesome-node - move-file - Move a file, even works across devices. (Packages / Filesystem)
- awesome-nodejs-cn - move-file - 移动文件,甚至可以跨设备使用. (目录 / 文件系统)
- awesome-nodejs - move-file - 移动文件 (Uncategorized / Uncategorized)
- awesome-nodejs-cn - move-file - **star:198** 移动文件,甚至可以跨设备工作 (包 / 文件系统)
README
# move-file
> Move a file
The built-in [`fs.rename()`](https://nodejs.org/api/fs.html#fs_fs_rename_oldpath_newpath_callback) is just a JavaScript wrapper for the C `rename(2)` function, which doesn't support moving files across partitions or devices. This module is what you would have expected `fs.rename()` to be.
## Highlights
- Promise API.
- Supports moving a file across partitions and devices.
- Optionally prevent overwriting an existing file.
- Creates non-existent destination directories for you.## Install
```sh
npm install move-file
```## Usage
```js
import {moveFile} from 'move-file';await moveFile('source/unicorn.png', 'destination/unicorn.png');
console.log('The file has been moved');
```## API
### moveFile(sourcePath, destinationPath, options?)
Returns a `Promise` that resolves when the file has been moved.
### moveFileSync(sourcePath, destinationPath, options?)
#### sourcePath
Type: `string`
The file you want to move.
#### destinationPath
Type: `string`
Where you want the file moved.
#### options
Type: `object`
See [Options](#options-2).
### renameFile(source, destination, options?)
Returns a `Promise` that resolves when the file has been renamed. `source` and `destination` must be in the same directory.
### renameFileSync(source, destination, options?)
#### source
Type: `string`
The file you want to rename.
#### destination
Type: `string`
What you want to rename the file to.
#### options
Type: `object`
See [Options](#options-2).
### Options
##### overwrite
Type: `boolean`\
Default: `true`Overwrite existing destination file.
##### cwd
Type: `string`\
Default: `process.cwd()`The working directory to find source files.
The source and destination path are relative to this.
##### directoryMode
Type: `number`\
Default: `0o777`[Permissions](https://en.wikipedia.org/wiki/File-system_permissions#Numeric_notation) for created directories.
It has no effect on Windows.
## Related
- [move-file-cli](https://github.com/sindresorhus/move-file-cli) - CLI for this module
- [copy-file](https://github.com/sindresorhus/copy-file) - Copy a file
- [cpy](https://github.com/sindresorhus/cpy) - Copy files
- [make-dir](https://github.com/sindresorhus/make-dir) - Make a directory and its parents if needed