我想在某些文件夹中的所有文件移动到新创建的文件夹中的同一个文件夹。为了更容易理解,请参见下面的示例(输入被示出左,输出右示出):MOVE批量文件
C:\1\A\file1.tif C:\1\A\Named\file1.tif
file2.tif file2.tif
file3.tif ==> file3.tif
C:\1\B\file1.tif C:\1\B\Named\file1.tif
file2.tif file2.tif
file3.tif file3.tif
在上面的例子中,我只示出每一个文件夹中的前三个文件,但总数量可以不同(通常每个文件夹有1000个文件)。此外,我只显示了两个文件夹(A和B),但文件夹的总数也可能不同(通常约10个文件夹)。最后,我只显示文件夹'1',但这些文件夹的数量也可能有所不同(通常为'1'到'10')。所以我正在寻找一个脚本,可以独立于文件或文件夹的数量来执行这些操作,而不依赖于文件夹/文件的名称(我仅选择'1','A'和'file1.tif'作为示例)。
这个想法是,现在我必须在文件所在的每个文件夹(上面的例子中的'A'和'B')中手动创建空文件夹(在上面的例子中称为'Named')。然后我必须手动将所有文件移动到新创建的文件夹'Named'中。我必须为所有文件夹(大约100)执行此操作。如果我只需要做一次,我就可以手动完成整个过程,但问题是我必须多次执行此过程:-)。所以自动化会节省很多时间。
有谁知道一个脚本,可以做到这一点?非常感谢!
嗨巴厘岛,谢谢你的剧本。我通过将第一行更改为“cd C:\ 1”来测试脚本。这工作完美。但正如我在第一篇文章中提到的,'1'文件夹不是唯一的文件夹,通常有10个文件夹(如1到10)。当我通过“cd C:\”替换脚本中的第一行时(假设除了文件夹1到文件夹10以外,C盘中没有其他文件夹),该脚本仍然有效,但我得到了另外一个名为'Named '在'1'文件夹中(所以C:\ 1 \ Named)。 9个文件夹('2'到'10')也是如此。但这不是一个大问题。 – Loek
@Loek不用担心,我把rootfolder路径作为一种占位符的文件夹所有文件夹中(如您用C的例子:有没有其他的文件夹)所以,除非你有某种形式的根文件夹中很难如果你知道我的意思,你可以区分你想要的和不想要的。当我测试时,我确实发现了这个问题,但我认为我已经修复了它,我会做更多的调试:) –
我刚测试了我的脚本,但它对我来说似乎很好。我刚创建了一个'test'文件夹,下面有2个文件夹,'a'和'b',每个文件夹都有2个文本文件,并且工作正常。是否有可能创建一个基础文件夹并将所有内容移动到那里并查看它是否有效? –