move 是什么
move 把文件或目录移到另一个位置,也可以顺手改名。它的行为取决于源与目标是否在同一个卷:同卷内移动只是修改文件系统的索引记录,瞬间完成且不涉及数据搬运;跨卷移动会先复制再删除源文件,属于非原子操作,中途中断会留下源和目标都存在(或都不完整)的中间状态。理解这个差别,就能判断大目录搬迁时该不该用它。
基本信息
| 适用平台 | Windows CMD(PowerShell 中的同名命令为别名,行为不同) |
|---|---|
| 语法 | move [/y|/-y] 源 目标 |
| 同卷行为 | 只修改索引,速度极快,不产生额外数据读写 |
| 跨卷行为 | 实际执行复制加删除,耗时与数据量成正比 |
| 覆盖控制 | /y 覆盖不提示、/-y 覆盖前提示 |
| 改名能力 | 可在移动的同时改名,但只能改本目录内的名称时用另一条命令更省事 |
典型使用场景
- 把文件从收件目录移到归档目录,保持目录整洁
- 整目录改名或换位置,同卷下瞬间完成
- 把日志或数据文件转移到另一块盘,释放系统盘空间
- 批量移动某类文件:目标写目录,源用通配符
- 整理下载目录:按扩展名把文件分发到不同子目录
- 需要跨盘搬大目录时,改用带日志与重试能力的复制工具
常用示例
常用示例
:: 移动文件
move D:\src\app.log D:\log\app.log
:: 整目录改名(同卷下即改名操作)
move D:\old-name D:\new-name
:: 批量移动,目标写成目录
move /y D:\inbox\*.csv D:\data\
:: 移动并改名
move /y D:\data\export.csv D:\archive\2026-10.csv
:: 跨卷搬目录:用支持日志与重试的工具替代
robocopy D:\Big E:\Big /E /MOVE /R:2 /W:2 /LOG:D:\move.log行为对照
| 场景 | 实际动作 | 注意点 |
|---|---|---|
| 同卷移动 | 修改索引记录 | 瞬间完成,几乎无风险 |
| 跨卷移动 | 复制完成后删除源 | 非原子操作,中断会留下不一致状态 |
| 目标为已存在目录 | 把源放入该目录 | 同名文件会触发覆盖询问 |
| 目标为完整路径 | 按新名字落盘 | 可实现移动加改名 |
| 移动目录 | 整棵子树一起移动 | 跨卷时对其中的每个文件生效 |
目录改名与移动是同一套操作:同卷内把目录移到同级的另一个名字,本质上就是改名。改动目录名会影响依赖绝对路径的程序与计划任务,动手前先确认引用关系。
跨卷移动大目录耗时较长且中途中断会留下源与目标并存的混乱状态。重要数据建议改用带日志、重试与校验能力的复制工具,完成后再删除源。