Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Batch file 批处理文件将具有日期限制的多个.txt文件从多个目录复制到一个目录_Batch File - Fatal编程技术网

Batch file 批处理文件将具有日期限制的多个.txt文件从多个目录复制到一个目录

Batch file 批处理文件将具有日期限制的多个.txt文件从多个目录复制到一个目录,batch-file,Batch File,我正在尝试使用批处理文件将分散在一个主目录的几个子目录中的所有.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"

我正在尝试使用批处理文件将分散在一个主目录的几个子目录中的所有.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文件一样。

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

  • 启动Windows资源管理器
  • 单击按钮搜索
  • 打开高级搜索选项以查找文件和文件夹
  • 选择/输入以按上次修改日期搜索文件
  • 输入两个日期以指定时间段或选择时间段
  • 运行搜索
  • 选择搜索结果中找到的所有文件,例如使用Ctrl+A
  • 按Ctrl+X将找到的文件标记为要剪切(移动)
  • 打开文件应移动到的文件夹
  • 按Ctrl+V组合键粘贴文件(移动文件)
  • 就这样

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

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

    • 适用于Windows 8/7/Vista,或
    • 对于Windows XP:
    当然,还有许多免费软件和共享软件工具也支持根据各种搜索标准查找文件,如在指定时间段内的最后修改日期并移动文件

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


    如果包括Windows Explorer在内的数十个GUI应用程序都通过简单的用户输入来执行相同的操作,而不需要编码技巧,因此非常易于使用,那么为什么要考虑为这样的任务编写批处理文件呢,而“查找+移动”只能执行一次,或根据更改的标准不时执行一次?

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

  • 启动Windows资源管理器
  • 单击按钮搜索
  • 打开高级搜索选项以查找文件和文件夹
  • 选择/输入以按上次修改日期搜索文件
  • 输入两个日期以指定时间段或选择时间段
  • 运行搜索
  • 选择搜索结果中找到的所有文件,例如使用Ctrl+A
  • 按Ctrl+X将找到的文件标记为要剪切(移动)
  • 打开文件应移动到的文件夹
  • 按Ctrl+V组合键粘贴文件(移动文件)
  • 就这样

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

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

    • 适用于Windows 8/7/Vista,或
    • 对于Windows XP:
    当然,还有许多免费软件和共享软件工具也支持根据各种搜索标准查找文件,如在指定时间段内的最后修改日期并移动文件

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

    如果包括Windows资源管理器在内的数十个GUI应用程序通过简单的用户输入执行相同的操作,而不需要编码技巧,因此非常易于使用,并且“查找+移动”只能执行一次或不时更改标准,为什么要考虑为此类任务编写批处理文件以适应不同的日期