我正在尝试使用批处理文件将分散在一个主目录的多个子目录中的所有.txt文件复制到另一个目录中。我对此网站进行了研究,并在此链接中找到了许多答案:batch file Copy files with certain extensions from multiple directories into one directory。就像Jay下面的代码一样:
set dSource=C:\Main directory\sub directory
set dTarget=D:\Documents
set fType=*.doc
for /f "delims=" %%f in ('dir /a-d /b /s "%dSource%\%fType%"') do (
copy /V "%%f" "%dTarget%\" 2>nul
)
我的问题是如何在此链接上修改此代码或其他代码以批量复制带有时间戳的文件,例如我只想复制从2012年1月1日到2012年11月1日创建的.txt文件。
答案 0 :(得分:1)
我建议在驱动器的目录树中查找和移动* .txt文件,或整个驱动器,甚至是在确定时间段内具有上次修改日期的多个驱动器:
那就是它。
如果不应使用调度任务定期执行此查找+移动文件作业,则无需为此任务编写批处理作业。
使用Windows资源管理器在一定时间内对文件执行此类高级查找的确切步骤取决于Windows的版本。例如,参见计算机提示
当然,有许多免费软件和共享软件工具支持根据各种搜索标准查找文件,例如指定时间段内的上次修改日期并移动它们。
嗯,这并没有真正回答这个问题,因为它不包含完成工作的批处理代码。所以我用另一个问题回答这个问题:
为什么考虑为这样的任务编写批处理文件很难适应不同的日期,如果包括Windows资源管理器在内的许多GUI应用程序通过简单的用户输入而不需要编码技能并因此非常容易使用,并且find + move必须只进行一次或不时更改标准吗?