2017-10-18 157 views
-2

我目前有超过100.000个文件(.bak),我需要将1000个文件移动到不同的目录。需要移动的文件有一个带有不同扩展名(.xml)的双文件,因此找到它们应该很容易,但对于我来说,我无法弄清楚如何做到这一点。我没有使用.bat文件的经验,而且我一直在为一天的工作而苦苦挣扎。有人可以帮我吗?根据名称移动文件的批处理文件

简单的例子:

第一个文件:

File1thatneedstomove.bak 
File1thatneedstomove.xml 
File1thatdoesntneedstomove.bak 
File2thatdoesntneedstomove.bak 
File3thatdoesntneedstomove.bak 
File2thatneedstomove.bak 
File2thatneedstomove.xml 

所以我需要在1楼和6文件移动到不同的文件夹,因为他们有一个双胞胎文件,其中刚刚周期之后的文字是不同的。

+0

欢迎来到SO。本网站不是代码编写服务,不适用于提供完整的解决方案。预计用户将展示一些努力和代码,而SO在此期间将帮助您解决具体的编程问题。你已经尝试了什么?请阅读:https://stackoverflow.com/help/asking –

+0

我试图复制这两个解决方案,并改变它们以适应我的需求,但这似乎不起作用。我无法检查如何比较两个文件,然后移动基于该检查.https://stackoverflow.com/questions/28035754/batch-file-to-move-files-based-on-name-wo-creating-新文件夹和https://stackoverflow.com/questions/41804814/batch-file-to-move-files-based-on-part-of-filename-to-folder-based-on-part-of-f –

回答

2

未测试:

set "source_dir=C:\baks" 
set "destination=C:\dest" 

for %%a in ("%source_dir%\*bak") do (
    if exist "%%~dpna.xml" (
     echo move /y "%%~fa" "%destination%" 
    ) 
) 

它将回声所需的移动命令的参数。如果确实可以删除方括号中的echo单词。

+1

认为你在'%%〜dpna.xml'中缺少'n' –

+0

@LS_ᴅᴇᴠ - 谢谢 – npocmaka

相关问题