使用此代码,每个子目录中的所有文件都将向上移动一级,而不仅仅是最后一个子目录中的文件。此外,放置 bat 文件的文件夹中的文件以及 bat 文件本身也会向上移动一级。这不是本意。我只想从最后一个子目录中移动文件。
对于信息,每个文件夹的最后一个子目录也有不同的名称。
for /r %%x in (*.*) do move "%%x" "%%x"/../..
稍后,如果这可行,我还将删除空的子目录。但现在最大的问题是将文件上移一级。
作为一个文件夹的示例:
我有:
D:\FILMS
------\Bikini Spring Break
-------------\EPCSKGCWZCXDJEH
---------------------------\DVD
------------------------------\P2HBSB5.iso
------------------------------\0001.jpg
------------------------------\lees.txt
我想:
D:\FILMS
------\Bikini Spring Break
-------------\EPCSKGCWZCXDJEH
---------------------------\P2HBSB5.iso
---------------------------\0001.jpg
---------------------------\lees.txt
最后,最后打算得到这样的东西:
D:\FILMS\Bikini Spring Break\P2HBSB5.iso --> and other files (".jpg", etc)
D:\FILMS\Breaking the Girls (20122013) PAL\P2HBTG5.iso
D:\FILMS\De marathon\MW93JLNPNH8PLLK.iso
这里所有子目录都被删除,所有文件都在他自己的电影命名文件夹中。
因为所有电影文件夹都没有相同数量的子目录,我认为唯一的解决方案是将最后一个子目录中的所有文件向上移动一层,看看哪些文件夹仍然有子目录,并将这些文件夹放在单独的文件夹中,所以我会能够执行代码,直到所有子目录都被删除。