在今天的“xxx”文件夹中查找包含“yyy”字符串的文件,并使用批处理脚本将这些文件复制到“zzz”文件夹

时间:2015-06-28 12:53:51

标签: windows batch-file command-line windows-server findstr

我试图这样做:

  • 搜索" YYY" " XXX"中的0天文件内的字符串文件夹
  • 将这些文件复制到" ZZZ"现有文件夹
  • 仅将目标文件夹中的文件重命名为" Currency_%date%_#xy.bak"

我想可以使用forfilesfindstr命令或for /f loop来完成。

我试图从:

开始
 For /F "Tokens=* Delims=" %%I In ('forfiles /M *.bak /S /D 1') Do (Findstr /m "yyy" %%I)

1 个答案:

答案 0 :(得分:1)

forfiles /D 1将获得明天或更晚创建的文件。

使用/D 0("今天或以后")

此外,默认情况下,forfiles仅为您提供没有路径的文件名,因此findstr无法找到它们,如果它们位于子目录中。要更正此行为,请使用:

for /f "delims=" %%i in ('FORFILES /s /M *.bak /C "cmd /c echo @path"') do ( findstr /m "yyy" %%i && copy "%%i" "zzz\" )

有关更多信息,请参阅forfiles /?