Bonjour,

J'ai fais ce petit script en powershell pour faire un backup de repertoires dont le nom est composé de l'année et du numéro de semaine comme ceci :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
2019_40
2019_41
2019_42
2019_43
2019_44
2019_45
2019_46
2019_47
2019_48
2019_49
2019_50
2019_51
2019_52
2020_01
2020_02
2020_03
2020_04
2020_05
2020_06

J'aimerais faire le backup de tous les repertoire année - 1 ou les repertoires qui auraient 4 semaines passées.
j'ai donc écrit ceci :

Code PowerShell : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
# Date 
$Year = get-date -UFormat %Y
$WeekNb = get-date -UFormat %V
 
# List des fichiers a* Zip
$Dir_To_Zip = Get-ChildItem -path "C:\Temp\LOG Script"
 
Foreach ($element in $Dir_To_Zip ) 
{  
$DirName =  $element.Name  
echo "FLAG DirName : $DirName"
# Substring à Gauche
$DirNameY = $DirName.Substring(0, $DirName.Length -3 )
echo "FLAG DirNameY : $DirNameY"
# Substring à Droite
$DirNameW = $DirName.Substring($DirName.Length -2)
$DirNameW = $DirNameW.trimstart('0') 
echo "FLAG DirNameW : $DirNameW"
$WeekNb =  [Math]::Abs((($WeekNb - 4)))
echo "FLAG Abs Week : " $WeekNb
 
if  ($DirNameW -lt $WeekNb  ) -or ( $DirNameY = (($Year - 1))  ))
{ 
echo "FLAG OutPut ==========> $element.zip" }
}

Ce script me donne ceci :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
FLAG OutPut ==========> 2019_40.zip
FLAG OutPut ==========> 2019_41.zip
FLAG OutPut ==========> 2019_42.zip
FLAG OutPut ==========> 2019_43.zip
FLAG OutPut ==========> 2019_44.zip
FLAG OutPut ==========> 2019_45.zip
FLAG OutPut ==========> 2019_46.zip
FLAG OutPut ==========> 2019_47.zip
FLAG OutPut ==========> 2019_48.zip
FLAG OutPut ==========> 2019_49.zip
FLAG OutPut ==========> 2019_50.zip
FLAG OutPut ==========> 2019_51.zip
FLAG OutPut ==========> 2019_52.zip
FLAG OutPut ==========> 2020_01.zip
FLAG OutPut ==========> 2020_02.zip
FLAG OutPut ==========> 2020_03.zip
FLAG OutPut ==========> 2020_04.zip
FLAG OutPut ==========> 2020_05.zip
FLAG OutPut ==========> 2020_06.zip
Je ne comprend pourquoi le script fait un zip des repertoire 2020_03, 2020_04, 2020_05, 2020_06 alors que la condition est fausse.

Merci de votre aide.