Je dois rechercher un fichier sur mon disque modifié après une date donnée à l'aide de la ligne de commande.
Par exemple:
dir /S /B WHERE modified date > 12/07/2013
Vous pouvez utiliser PowerShell pour cela, essayez:
Get-ChildItem -Recurse | Where-Object { $_.LastWriteTime -ge "12/27/2016" }
La commande forfiles
a fonctionné pour moi sous Windows 7. L'article est ici:
http://www.windows-commandline.com/find-files-based-on-modified- time/
Microsoft Technet doc: http://technet.Microsoft.com/en-us/library/cc753551.aspx
Pour l'exemple ci-dessus:
forfiles /P <dir> /S /D +12/07/2013
J'étais après que la taille des fichiers ait changé et je n'avais pas Powershell, mais j'ai utilisé ce qui suit, mais l'indice provient d'un autre message.
http://www.scotiasystems.com/blog/it-hints-and-tips/quick-way-to-find-recently-changed-files-in-windows et Commande Windows pour taille du fichier seulement?
set Target=E:\userdata
rem Date format is M-D-YYYY
set date=12-13-2013
set Filelist=d:\temp\filelist.txt
set Sizelist=d:\temp\sizelist%date%.csv
echo Target is %Target%
echo Start date is %date%
echo file list is %Filelist%
echo Sizelist is %sizelist%
Xcopy %Target% /D:%date% /L /S > %Filelist%
echo FileSize (bytes), FileName > %sizelist%
For /f "tokens=1 delims=;" %%j in (%Filelist%) do (
call :Size "%%j"
)
Goto :EOF
:Size
@echo off
echo %~z1, %1 >> %sizelist%
J'avais le même problème. J'ai donc créé une liste à l'aide de XCOPY et de la date de modification avant que je cherchais, puis utilisé une boucle for pour parcourir la liste et ajouter les informations de date/heure dont j'avais besoin pour chaque fichier dans un journal.
xcopy X:\file_*.log X:\temp /D:07-17-2014 /L /Y > X:\files.txt
for /f "tokens=* delims=" %%a in (X:\files.txt ) do (
@echo %%~ta %%a >> X:\files.log
)
Résultat: quelque chose comme ce qui suit, qui correspond exactement à ce que je voulais.
X:\>()
07/17/2014 09:41 AM X:\file_201407170600.log
X:\>()
07/17/2014 09:41 AM X:\file_201407170615.log
X:\>()
07/17/2014 09:23 AM X:\file_201407170630.log
Vous pouvez rechercher des fichiers modifiés après une date donnée en utilisant XCOPY comme dans cet exemple, en recherchant des fichiers depuis le dernier jour de 2018:
xcopy *.* c:\temp\*.* /D:12-31-2018 /L /S
Dans cet exemple, vous vous trouvez dans le répertoire où commence votre recherche.
c:\temp *. * n'est qu'une syntaxe requise, rien n'y sera copié.
/ D: 12-31-2018 spécifie la date de modification des fichiers que vous recherchez, y compris la date spécifiée.
/ L affiche les noms de fichiers, y compris le lecteur et le chemin, fait également que xcopy ne copie aucun fichier.
/ S recherche dans les sous-répertoires.
Si vous décidez d'utiliser Power Shell, cela fonctionnera également avec les plages de date et heure:
Get-ChildItem -Recurse | Where-Object {($_.LastWriteTime -ge "04/15/2018 20:00:00") -and ($
_.LastWriteTime -lt "04/15/2018 21:00:00")}
Pour utiliser une date programmatique ou une date heure autonome:
Get-ChildItem -Recurse | Where-Object {($_.LastWriteTime -ge (new-object System.DateTime 2018, 1, 10, 12, 30, 00)) -and ($_.LastWriteTime -lt (new-object System.DateTime 2018, 1, 14, 12, 15, 59))}
Lorsque la date et l'heure sont entrées dans l'ordre croissant de spécificité temporelle:
Année, mois, jour, heure, minute, seconde