【发布时间】:2018-07-25 10:50:30
【问题描述】:
我刚刚开始使用批处理文件并遇到了问题。 我需要将具有相同名称(旧)的多个文件夹中的所有文件移动到父文件夹中。 如果我只为 1 个文件夹执行此操作,但我无法弄清楚如何同时为多个文件夹执行此操作,则效果很好。我会很感激一些帮助。这是我的文件夹结构:
- 文件夹\1\old\somefiles => 文件夹\1\somefiles
- 文件夹\2\old\somefiles => 文件夹\2\somefiles
- 文件夹\3\old\somefiles => 文件夹\3\somefiles
这是我的一个文件夹的代码:
for %%F in ( c:\test\folder\120006\old\*.*) do move /Y %%F c:\test\folder\120006
感谢您的帮助
【问题讨论】:
-
for %%F in ("C:\test\folder\120006\old\*.*") do move /Y "%%~F" "%%~dpF.."(~dp修饰符返回文件父目录的完整路径,..上一级) -
@aschipfl 不能递归工作。
-
我的评论提出了一种避免将目标指定为常量的方法,但仅此而已;很抱歉不清楚!对于你需要这样做:
for /D %%D in ("C:\test\folder\*") do for %%F in ("%%~D\old\*.*") do move /Y "%%~F" "%%~dpF.."
标签: batch-file