2017-04-26 240 views
0

我需要一些帮助来编写批处理文件从3个不同的目录中提取相同的文件命名文件,并将这些文件移动到镜像目录。批处理文件文件夹比较?

基本上我需要的是一种方法来消除3个目录中每个目录中没有相同文件名的文件,然后将这些目录移动到3个新目录中。

由于3个原始目录每个包含1个扩展类型,我想他们甚至可以移动到1个单独的目录。所以基本上,扩展并不重要。

例:

DIR1 
-file1 
-file2 
DIR2 
-file1 
-file2 
-file3 
DIR3 
-file2 
-file3 

这样:(这将是重新创建的新目录)

DIR1 
-file2 
DIR2 
-file2 
DIR3 
-file2 

任何帮助,非常感谢! 谢谢...

回答

0
for %%i in ("dir1/*") do (
if NOT "%%~ni"=="file2" (
del "dir1/%%i" 
) 
) 
for %%i in ("dir2/*") do (
if NOT "%%~ni"=="file2" (
del "dir2/%%i" 
) 
) 
for %%i in ("dir3/*") do (
if NOT "%%~ni"=="file2" (
del "dir3/%%i" 
) 
) 

希望这项工作。

+0

这似乎不适用于我...不断告诉我即使命令屏幕显示它们也找不到文件。 –

+0

已修复。我认为? – Epic8009

+0

我不太认为这里是在同一页。此批次需要扫描位于同一目录中的3个文件夹,获取相同的文件名,并将所有3个文件夹中的文件(如果存在)移动到新位置。另外你的帮助是非常感谢... –