Você pode usar a excelente ferramenta wasfile.exe do Horst Schaeffer:
for /r c:\particular_folder %i in (*.*) do @wasfile.exe %i created after Today-1 > nul && @copy %i f:\different_location
Você pode alterar criado e modificado conforme sua necessidade:
WasFile, ver. 2.2 (c) 2006-2007, Horst Schaeffer
compares ..
the time&date of two files (or directories),
the date only, time ignored
the date of a file with TODAY-n (days)
the time&date of a file with NOW-n (minutes)
Examples:
WasFile this.zip created before that.zip
WasFile this.zip modified after today-8
Syntax:
WasFile File1 [Stamp] [not] before|after|sametime File2 [Stamp] [Option]
WasFile File1 [Stamp] [not] before|after|sametime today-n [Option]
WasFile File1 [Stamp] [not] before|after|sametime now-n
Stamp is either:
created, modified (default) or accessed
(by default second stamp = first stamp)
Options to compare date only, ignore time:
/DateLocal or /DateUTC
(if TODAY is used, default is /DateLocal)
Result by errorlevel:
0: true, 1: false, 255: error (message to STDERR)
by the way when you put (.), does it mean look for any format/kind of the file? can i just put *.csv instead to search csv file only?
Eu acho que você quer dizer (*. *)? Sim, isso indica em qual conjunto você está interessado. * .Csv isolaria apenas os arquivos csv.
also why are you using @wasfile.exe, nul, @ copy and switch %i (two places)
Você pode se beneficiar da leitura de alguns sites em segundo plano: link
link
Google tutorial em lote para mais sites.
Em um arquivo de lote, @command significa que a linha de comando não é exibida na tela. Caso contrário, você verá o que pediu e qual foi o resultado. O & & significa "processar o que se segue se o comando for bem-sucedido" e determina isso por errorlevel . Se eu quisesse 'não foi bem sucedido' eu teria usado || .
Nesse caso, você lê o código como: É o arquivo mais recente que a data prevista e, se sim (& &), copia-o para algum local. Não me mostre nenhuma saída do meu comando "> nul"
OK?