Question Date et heure

Plus d'informations
il y a 4 ans 5 mois #29422 par Toper
Date et heure a été créé par Toper
Bonjour à tous,
j'essaie de trouver des fichiers datant d'hier, mais seulement de 18h à 23h59.
Je pars sur un
[code:1]$dossier = \"C:\dossier\"
$2days = (Get-Date).AddDays(-1)
$today = (get-date).Date
(Get-ChildItem $dossier -Filter \"*.LST\" | Where-Object {$_.LastWriteTime -gt $2days -and $_.LastWriteTime -lt $today -and $_.LastWriteTime -gt \"18:00\" -and $_.LastWriteTime -lt \"23:59\" } | Select-String -Pattern 'ORA-'
[/code:1]
Mais ça n'est pas très probant...<br><br>Message édité par: gregmurf, à: 13/11/19 14:40

Powershell: la vie est belle :)

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 4 ans 5 mois #29429 par Laurent Dardenne
Réponse de Laurent Dardenne sur le sujet Re:Date et heure
Dans ces cas là il faut créer des cas des tests.
[code:1]
$d=get-date;$d;trace-command TypeConversion -Expression { $d -gt \&quot;18:00\&quot;} -PSHost

# mercredi 13 novembre 2019 20:15:49
# DÉBOGUER : TypeConversion Information: 0 : Parse #result: 13/11/2019 18:00:00
# True
[/code:1]
Je n'ai pas trop le temps de creuser :whistle:
Je pense qu'il faut un premier filtre sur la partie date seulement, puis sur la partie heure-minute.
Dans ton cas la partie Date n'est utilisé que sur une seule variable.
Voir ajouter des parenthèses dans ton test.

Tutoriels PowerShell

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 4 ans 5 mois #29435 par Toper
Réponse de Toper sur le sujet Re:Date et heure
Merci.
Je pensais faire un premier tri à la date d'hier, PUIS un second sur l'heure comme tu le dis... mais je n'arrive pas à écrire le second tri...
[code:1]$today = (Get-date).Date
$yesterday = (get-date).date.adddays(-1)
$dossier = \&quot;C:\dossier\&quot;
$files = Get-ChildItem $dossier -Filter \&quot;*.LST\&quot; | Where-Object {$_.LastWriteTime -gt $yesterday -and $_.LastWriteTime -lt $today}
foreach-object .............[/code:1]

Fausse route ?

Powershell: la vie est belle :)

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 4 ans 5 mois #29436 par Laurent Dardenne
Réponse de Laurent Dardenne sur le sujet Re:Date et heure
Essaie ceci :
[code:1]

#trouver des fichiers datant d'hier, mais seulement de 18h à 23h59.
$Aujourdhui = (get-date).Date
$Hier = $Aujourdhui.AddDays(-1)
$StartTime=$Hier.Date.AddHours(18)
$EndTime=$Hier.Date.AddHours(23).AddMinutes(59)
$heure=17
$Minute=50
$DebugPreference=\&quot;continue\&quot;


$dossier=\&quot;C:\TEMP\Test\&quot;
1..10|
foreach-Object {
$Name=\&quot;$Dossier\File$_.txt\&quot;
&amp;fsutil.exe file createnew $Name 10
$File=Get-ChildItem $Name
Write-debug \&quot;Create $File\&quot;
if ($_ -band 1)
{
$newDate=$Hier.Date.AddHours($Heure).AddMinutes($minute*$_)
$File.lastwritetime = $newDate
Write-debug \&quot;Change $File `r`n`tNew date: $newdate\&quot;
}
}



Get-ChildItem $dossier -Filter \&quot;*.Txt\&quot; |
Where-Object {
$CurrentDate=$_.LastWriteTime
($CurrentDate -ge $StartTime) -and ($CurrentDate -le $EndTime)
}

$DebugPreference=\&quot;Silentlycontinue\&quot;
[/code:1]
Si j'ai le temps je testerais avec ce module .

Le calcul de date est tjr laborieux, si on a pas pris de note sur le sujet...

Tutoriels PowerShell

Connexion ou Créer un compte pour participer à la conversation.

Temps de génération de la page : 0.693 secondes
Propulsé par Kunena