Windows批处理脚本,用于在具有指定日期的文件中查找字符串并将其复制到新目录

时间:2019-01-04 05:04:52

标签: batch-file

我正在尝试执行以下操作

FORFILES /S /M *.* /P <DIR> /D <MM/DD/YYYY>

FINDSTR /S /M /I <%CRITERIA%>

DO ECHO <FILE>

XCOPY /Y <FILE> <DIR>

我的原始剧本是这个

set /p search="Enter Search Criteria: "
set /p date="Enter Date (MM/DD/YYYY): "

if not exist "C:\%search%" mkdir C:\%search%

for /f %%a in ('findstr /s /m /i "%search%" "C:\log\*.txt"') do echo %%a & xcopy /y "%%a" "C:\%search%"

@pause

但是它会搜索服务器上的每个文件,这可能需要一段时间,我希望将列表减少到指定的日期,这样我就可以集中搜索。

1 个答案:

答案 0 :(得分:0)

只需使用 forfiles / D dd / mm / yyyy 搜索文件的日期就不会超过日期,或者在日期之前使用减号进行还原它早于日期。还需要+30个类型天作为日期。