1

我正在尝试使用批处理文件将分散在一个主目录的几个子目录中的所有 .txt 文件复制到另一个目录中。我研究了这个网站,并在这个链接上找到了很多答案:批处理文件将具有某些扩展名的文件从多个目录复制到一个目录中。就像 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 文件一样。

4

1 回答 1

1

我的建议是在驱动器的目录树中查找和移动 *.txt 文件,或者整个驱动器,甚至是在特定时间段内具有最后修改日期的多个驱动器:

  1. 启动Windows 资源管理器
  2. 点击按钮Search
  3. 打开用于查找文件和文件夹的高级搜索选项。
  4. 选择/输入以按最后修改日期搜索文件。
  5. 输入两个日期以指定时间段或选择时间段。
  6. 运行搜索。
  7. 在搜索结果中选择所有找到的文件,例如使用 Ctrl+A。
  8. 按 Ctrl+X 将找到的文件标记为被剪切(移动)。
  9. 打开应将文件移动到的文件夹。
  10. 按 Ctrl+V 粘贴文件(移动它们)。

而已。

如果不应该使用调度任务定期完成此查找 + 移动文件作业,则无需为此任务编写批处理作业。

使用 Windows 资源管理器在特定时间段内对文件进行此类高级查找的确切步骤取决于 Windows 版本。参见例如计算机提示

当然,还有许多免费软件和共享软件工具,它们还支持根据各种搜索条件(如指定时间段内的最后修改日期)查找文件并移动它们。

好吧,这并不能真正回答这个问题,因为它不包含执行这项工作的批处理代码。所以我用另一个问题来回答这个问题:

如果包括 Windows 资源管理器在内的数十个 GUI 应用程序通过简单的用户输入来执行相同的操作,而无需编码技能,因此非常易于使用,那么为什么要考虑为这样的任务编写批处理文件来适应不同的日期,并且 find +移动必须只进行一次还是不时更改标准?

于 2014-08-30T22:24:28.547 回答