# move-file command

The move-file BASIC program moves a
file descriptor from one master dictionary to another. The dictionary
may be file-level, account-level (master dictionary), or system-level
(master dictionaries or system).

This implementation allows moving data from FSI files
to FSI files and from VME files to VME files.

Note: Moving files
from FSI files to VME files or from VME files to FSI files is not
implemented. Moving an account is also not implemented. To move an
account, use rename database from the File Manager.

## Syntax

```
move-file file.reference {file.name}
to: (file.reference {file.name}
```
The command requests the destination dictionary with the to: prompt. These responses are allowed:

```
(dict.name
```
or

```
(dict.name file.name
```
or

```
file.name
```
Note:

- If the dictionary name is missing, the source file dictionary is assumed.

- If the file name is missing, the source file name is assumed.

- If both the dictionary name and the file name are omitted, no action is taken.

The move-file command follows a
hierarchical approach to file transfer. A file must be moved to the *same level* as it was created. That is, a data file to a data
file, master dictionary to master dictionary, and so on.

## Example(s)

Changes the name of the data-level
D-pointer for the bp file to another item in
the dictionary of bp called old.bp. The old.bp
would subsequently be available using the reference bp,old.bp. This
also removes the default D-pointer to the bp file,
and any reference to the bp data section would
result in the message data level descriptor missing.

```
move-file dict bp bp
to: old.bp
```
Changes the bp file to old.bp.

```
move-file md bp
to: old.bp
```
Note: This does *not* change the name of the data file
within the dictionary of bp.

Moves
the bp file from the current account to the archive
account master dictionary.

```
move-file md bp
to: (archive,,
```
Moves the data portion of the bp file
from the current account to the account called archive, to a dictionary
called bp, and renames it bp.old.

```
move-file dict bp bp
to: (dict archive,bp,old.bp,
```
Renames the account pa to pete.

```
move-file mds,, pa
to: pete
```
Note: The rename-file command does *not* work at the master dictionary’s system level.

## See also

- [copy command](https://d3codex.com/tcl/copy-command/)
- [create-file command](https://d3codex.com/tcl/create-file-command/)
- [delete-file command](https://d3codex.com/tcl/delete-file-command/)
- [File control block](https://d3codex.com/definitions/file-control-block/)
- [rename command](https://d3codex.com/tcl/rename-command/)
- [rename-file command](https://d3codex.com/tcl/rename-file-command/)
- [steal-file command](https://d3codex.com/tcl/steal-file-command/)

---
Source: https://d3codex.com/tcl/move-file-command/ - part of the D3Codex reference.
