将子文件夹中的文件移动到多个文件夹下的主文件夹中

将子文件夹中的文件移动到多个文件夹下的主文件夹中

我的照片导入程序将照片的备份放在标有“导入日期”的文件夹中。这些文件夹是作为所需位置文件夹的子文件夹创建的。我在多层文件夹下有许多这样的“导入”文件夹。例如:

C:\pictures\all photos 2013\01jan13\imported on 1 月 18 日。

有没有办法从图片文件夹向下扫描其每个子文件夹,并让程序将“导入”文件夹中的所有文件移动到其上级文件夹中?如果这让您感到困惑,请见谅!

谢谢你的帮助

答案1

这在 Windows 7 中有效;我不知道其他版本:

for /r C:\pictures %F in (*.*) do move %F %F\..\..

笔记:

  • for /r C:\pictures %F in (*.*) do …对下的每个文件递归执行一次以下语句C:\pictures,并将%F设置为文件名。
  • move移动文件。
  • 这里有点棘手。你知道这cd ..会将你提升一个级别。好吧,事实证明你可以说\Users\rshonaker\Documents\fubar.doc\..,它将引用\Users\rshonaker\Documents(文件所在的目录),所以%F\..是该文件%F所在的目录。然后%F\..\..是该目录的父级。

更多说明:

  • 请谨慎使用。如果您在 中有任何文件C:\pictures,此操作将尝试将它们移动到C:\。如果您在 中有任何文件C:\pictures\all photos 2013,此操作将尝试将它们移动到C:\pictures,等等。
  • 如果您想将其放入脚本中,请将所有出现的 替换%F%%F

相关内容