puter.fs.move()Moves a file or a directory from one location to another.
puter.fs.move(source, destination)
puter.fs.move(source, destination, options)
puter.fs.move(options)
source (String) (Required)
The path or UID of the file or directory to move.
destination (String) (Required)
The path to the destination directory, or the item's new path. If destination is a directory then the file or directory will be moved into that directory using the same name as the source file or directory. Otherwise the item is moved into the destination's parent directory under its last path component; if a file is already there, we overwrite if overwrite is true, otherwise we error. A UID can be given in place of a path, and must name a directory.
Relative paths resolve against the app's root directory. A relative name that looks like a UID is read as one; prefix it with ./ to address a file by that name.
Without newName, the destination is looked up first to tell the two cases apart. If that lookup fails for any reason other than the destination not existing (for example, access is denied), the promise rejects with that error.
options (Object) (Optional)
The options for the move operation. The following options are supported:
source (String) - Path to the file or directory to move. Required when passing options as the only argument.destination (String) - Path to the destination. Required when passing options as the only argument.overwrite (Boolean) - Whether to overwrite the destination file or directory if it already exists. Defaults to false.dedupeName (Boolean) - Whether to deduplicate the file or directory name if it already exists. Defaults to false.newName (String) - The name to give the moved file or directory. When set, destination is always treated as the directory to move into. Defaults to the source's own name.createMissingParents (Boolean) - Whether to create missing parent directories. Defaults to false.A Promise that will resolve to the FSItem object of the moved file or directory. If the source file or directory does not exist, the promise will be rejected with an error.
Move a file
<html>
<body>
<script src="https://js.puter.com/v2/"></script>
<script>
(async () => {
// (1) Create a random text file
let filename = puter.randName() + '.txt';
await puter.fs.write(filename, 'Hello, world!');
puter.print(`Created file: ${filename}<br>`);
// (2) create a random directory
let dirname = puter.randName();
await puter.fs.mkdir(dirname);
puter.print(`Created directory: ${dirname}<br>`);
// (3) Move the file into the directory
await puter.fs.move(filename, dirname);
puter.print(`Moved file: ${filename} to directory ${dirname}<br>`);
// (4) Delete the file and directory (cleanup)
await puter.fs.delete(dirname + '/' + filename);
await puter.fs.delete(dirname);
})();
</script>
</body>
</html>
Move a file and create missing parent directories
<html>
<body>
<script src="https://js.puter.com/v2/"></script>
<script>
(async () => {
// (1) Create a random file
let filename = puter.randName() + '.txt';
await puter.fs.write(filename, 'Hello, world!');
puter.print('Created file: ' + filename + '<br>');
// (2) Move the file into a non-existent directory
let dirname = puter.randName();
await puter.fs.move(filename, dirname + '/' + filename, { createMissingParents: true });
puter.print(`Moved ${filename} to ${dirname}<br>`);
// (3) Delete the file and directory (cleanup)
await puter.fs.delete('non-existent-directory/' + filename);
await puter.fs.delete('non-existent-directory');
})();
</script>
</body>
</html>