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