我只想要一个相当于“mv dir target”的功能,并让 dir 移动到 target\dir。
- cmd move 甚至无法跨文件系统工作
- powershell 也没有
- xcopy 不动
- robocopy 在“robocopy.exe /move p1 p2 dir-in-p1”处失败(这里的语法是问题,请参阅接受的答案)
答案1
Robocopy 做得很好。
将文件夹日志移动到文档文件夹中(同一级别):
robocopy logs documents\logs /move
这很有效,它移动了它而不需要提前创建文件夹,并且它不再位于原始位置。
答案2
不确定运行内置move命令有什么问题 - 它可以在我的桌面(Windows XP)上跨文件系统移动。
F:\>帮助移动 移动文件并重命名文件和目录。 要移动一个或多个文件: 移动 [/Y | /-Y] [驱动器:][路径]文件名 1[,...] 目的地 重命名目录: 移动 [/Y | /-Y] [驱动器:][路径]目录名1 目录名2 [drive:][path]filename1 指定文件的位置和名称 或您想要移动的文件。 目标 指定文件的新位置。目标 可以由驱动器号和冒号组成, 目录名称或组合。如果您要移动 只有一个文件,你也可以包含文件名,如果 您想在移动文件时重命名它。 [drive:][path]dirname1 指定要重命名的目录。 dirname2 指定目录的新名称。 /Y 取消确认提示 覆盖现有的目标文件。 /-Y 提示是否确认覆盖 现有的目标文件。 开关 /Y 可能存在于 COPYCMD 环境变量中。 可以使用命令行上的 /-Y 覆盖此设置。默认为 提示覆盖,除非正在执行 MOVE 命令 在批处理脚本中。
答案3
我的方法是安装 Cygwin 并使用“mv”。但是,每当我被迫在 Windows 上工作时,安装 Cygwin 都是我的第一个动作之一。