Bonjour,

Je viens de bricoler un script powershell en piquant du code à gauche à droite car je n'y connaissait rien en powershell.

Le but de ce script est de lister les derniers fichiers des X derniers jours dans les sous répertoire ou se situe le script, exporter la liste dans un fichier CSV situé au niveau du dossier courant du script, et ensuite, ça ouvre un fichier excel qui, par powerquery, manipule les données du fichier CSV.

Donc tant que je suis en script ça fonctionne. Mais si je convertis le script en .exe, il ne trouve plus mes fichiers... Je ne peux pas utiliser des chemins absolue car le but est de pouvoir "scanner" les sous répertoire là ou je mettrais le script.exe

J'ai par exemple le message d'erreur à l'ouverture d'excel :
Désolé... Nous ne trouvons pas C:\Users\Trucmuche\AppData\Local\Temp\IXP000.TMP\derniers_fichiers.xlsx. Peut-être l'avez vous déplacé, renommé ou supprimé?

Mon fichier out.csv de mon répertoire courant n'est pas modifié quand je lance l'exécutable. Il doit en créer un autre ailleurs...

Voici mon code :
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
Do
{
[int]$nb = Read-Host 'Sur combien de jours voulez vous remonter? Entrez une valeur en 1 et 30'
}
While( ($nb -lt 1 ) -or ($nb -gt 30) )

[Int]$mesjours = 5
#write $mesjours

#write $nb
[int]$mesjours = $nb*-1
#write $mesjours

$Chemin = Split-Path -parent $PSCommandPath
Get-ChildItem -Path ($Chemin) -Recurse -File| Where-Object {$_.LastWriteTime -gt (Get-Date).AddDays($mesjours)} |
Select-Object @{n="dossier";e={$_.Fullname.replace($chemin,"").TrimStart("\")}},Name, LastWriteTime | 
Export-Csv -Delimiter ";" -Encoding UTF8 "$PSScriptRoot\out.csv" -NoTypeInformation
Invoke-Item "$PSScriptRoot\derniers_fichiers.xlsx"
Quelqu'un peut-il m'expliquer ce qui déconne dans la conversion en .exe? Je ne trouve pas sur le web...