You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Windows命令提示符中实现类Unix系统`mv */* ./`的文件移动操作?

如何在Windows命令提示符中实现类Unix系统mv */* ./的文件移动操作?

嗨,我完全懂你的需求——把所有子目录里的文件一次性移到当前目录,Unix下一行命令搞定,Windows却卡壳了对吧?别着急,我给你两种靠谱的方法:

方法一:用命令提示符(CMD)的循环命令

Windows的move命令不支持*/这种Unix风格的通配符,但我们可以用for循环来实现递归移动:

for /r %d in (*) do move "%d" .
  • 解释一下:for /r会遍历当前目录下所有子目录里的文件,%d会保存每个文件的完整路径;
  • 加引号是为了兼容带空格或特殊字符的文件名;
  • 如果是写在批处理(.bat)文件里,要把%d改成%%d哦。

方法二:用PowerShell(更简洁)

现在Windows系统都自带PowerShell,用它来做这个操作更直观:

Get-ChildItem -Recurse -File | Move-Item -Destination .
  • Get-ChildItem -Recurse -File会递归找出所有文件(排除目录);
  • 管道|把这些文件传给Move-Item,指定目标为当前目录(.);
  • 如果遇到重名文件,PowerShell会默认提示你是否覆盖,要是想直接覆盖(谨慎操作!),可以加-Force参数:
    Get-ChildItem -Recurse -File | Move-Item -Destination . -Force
    

两种方法都能帮你把所有子目录里的文件一次性移到当前目录,选你顺手的用就行~

备注:内容来源于stack exchange,提问作者onigame

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.21 12:03:09