FORUM D’ENTRAIDE INFORMATIQUE (FEI)
Site d’assistance et de sécurité informatique

Entraide pour le programmation en général (tous langages).
Règles du forum : Entraide concernant la programmation informatique en général, tous langages : recherche ou correction d'un code ou d'une fonction, aide à la réalisation d'un projet...
Pour la programmation web (HTML, CSS, PHP, MySQL...), il est conseillé de s'orienter dans le forum Webmastering.
Merci de lire et de respecter la charte générale du forum.
  • Avatar du membre
#209436
Bonjour à tous,
Je sollicite votre aide car dans le cadre d'un petit projet je souhaite copier des fichiers d'un répertoire A vers un répertoire B, étant débutant je bloque sur un point.

Ma contrainte est la suivante: sur le répertoire A sont déposé de temps en temps des fichiers (plusieurs sur un même journée et qui contient des fichiers de jours précédents), cependant je ne sais pas le jour exact de la dépose de ces fichiers.

J'ai donc commencé un début de script Powershell qui vient parcourir mon répertoire et récupérer la date de création du dernier fichier .xlsx créé avec un format de date choisi (qui ne contient pas l'heure de création).
$Select_File=Get-ChildItem "$Export\*.xlsx"|Sort-Object {$_.CreationTime} | select-Object -last 1 | select @{n='CreationTime';e={$_.CreationTime.ToString('dd/MM/yyyy')}}

Une fois cette valeur récupérée je voudrais la comparer à l'intégralité des fichiers du répertoire A afin de stocker dans une variable de type $File uniquement les fichiers qui ont été créés le même jour que ce derniers fichiers pour ensuite pouvoir les copier dans mon répertoire B.

C'est là que je bloque, j'ai essayé d'utiliser la ligne de code suivante pour sélectionner mes fichiers fichier en utilisant un where{} mais cela ne fonctionne pas.
$File=Get-ChildItem "$Export\*.xlsx"|Sort-Object {$_.CreationTime} | where {$_.CreationTime -match $Select_File} | Select-Object

Pour information le paramètre "CreationTime" me ressort la valeur sous le format @{CreationTime=27/05/2022 01:56:02}
La ligne " select @{n='CreationTime';e={$_.CreationTime.ToString('dd/MM/yyyy')}} " me permet d'avoir un format @{CreationTime=27/05/2022}
Mon idée est donc de rechercher l'élément de date pour le faire matcher avec les fichiers que je veux récuper.

Edit: Il m'est impossible d'utiliser la date du jour, je dois uniquement utiliser la date de création du dernier fichier.

Voilà j'espère que quelqu'un pourra m'aider :).
Merci à tous.

Hello everybody. Lately I have been very unlucky[…]

Having a coupon code is so convenient and helps a […]

Long-distance relationship

Hello everyone! Lately I have been thinking abou[…]

I appreciate you sharing this knowledge. I adore y[…]