Question
Bouton parcourir
- LEON
- Auteur du sujet
- Hors Ligne
- Membre senior
Réduire
Plus d'informations
- Messages : 69
- Remerciements reçus 0
il y a 12 ans 5 mois #10527
par LEON
Bouton parcourir a été créé par LEON
Bonjour tout le monde,
Un grand Week end approche, et au cas où, si j'ai un temps de *****, je ferais un peu de PS.
En gros, régulièrement dans mes scripts je dois sélectionner des fichiers, d'où ma question, est il possible d'utiliser une fonction du runtime ou autre afin d'avoir un bouton parcourir en PS afin de sélectionner un fichier sur le DD?
Cia
Un grand Week end approche, et au cas où, si j'ai un temps de *****, je ferais un peu de PS.
En gros, régulièrement dans mes scripts je dois sélectionner des fichiers, d'où ma question, est il possible d'utiliser une fonction du runtime ou autre afin d'avoir un bouton parcourir en PS afin de sélectionner un fichier sur le DD?
Cia
Connexion ou Créer un compte pour participer à la conversation.
- Yves Campmas
- Hors Ligne
- Nouveau membre
Réduire
Plus d'informations
- Messages : 8
- Remerciements reçus 0
il y a 12 ans 5 mois #10528
par Yves Campmas
Réponse de Yves Campmas sur le sujet Re:Bouton parcourir
J'ai utilisé dans certain de mes script la classe System.Windows.Forms.OpenFileDialog pour ouvrir une boite de dialogue de choix du fichier (sans oublier de charger l'assembly).
Voici un exemple du code :
[code:1]function Select-FileDialog
{
param([string]$Titre,[string]$Dossier,[string]$Filtre=\"Tous les fichiers *.*|*.*\"«»)
[System.Reflection.Assembly]::LoadWithPartialName(\"System.Windows.Forms\"«») | Out-Null
$objForm = New-Object System.Windows.Forms.OpenFileDialog
$objForm.InitialDirectory = $Directory
$objForm.Filter = $Filter
$objForm.Title = $Title
$Show = $objForm.ShowDialog()
If ($Show -eq \"OK\"«»)
{
Return $objForm.FileName
}
Else
{
Write-Error \"Opération annulé\"
return exit
}
}
$file = Select-FileDialog -Titre \"Choisir le fichier CSV\" -Dossier \"C:\\" -Filtre \"Fichier CSV (*.csv) |*.csv\"[/code:1]
Voici un exemple du code :
[code:1]function Select-FileDialog
{
param([string]$Titre,[string]$Dossier,[string]$Filtre=\"Tous les fichiers *.*|*.*\"«»)
[System.Reflection.Assembly]::LoadWithPartialName(\"System.Windows.Forms\"«») | Out-Null
$objForm = New-Object System.Windows.Forms.OpenFileDialog
$objForm.InitialDirectory = $Directory
$objForm.Filter = $Filter
$objForm.Title = $Title
$Show = $objForm.ShowDialog()
If ($Show -eq \"OK\"«»)
{
Return $objForm.FileName
}
Else
{
Write-Error \"Opération annulé\"
return exit
}
}
$file = Select-FileDialog -Titre \"Choisir le fichier CSV\" -Dossier \"C:\\" -Filtre \"Fichier CSV (*.csv) |*.csv\"[/code:1]
Connexion ou Créer un compte pour participer à la conversation.
- LEON
- Auteur du sujet
- Hors Ligne
- Membre senior
Réduire
Plus d'informations
- Messages : 69
- Remerciements reçus 0
il y a 12 ans 5 mois #10529
par LEON
Réponse de LEON sur le sujet Re:Bouton parcourir
Merci,
Je vais test, une fois que powerGUI m'aura enfin rendu la main ... mes tests le font planter sévère.
Je vais test, une fois que powerGUI m'aura enfin rendu la main ... mes tests le font planter sévère.
Connexion ou Créer un compte pour participer à la conversation.
- LEON
- Auteur du sujet
- Hors Ligne
- Membre senior
Réduire
Plus d'informations
- Messages : 69
- Remerciements reçus 0
il y a 12 ans 5 mois #10530
par LEON
Réponse de LEON sur le sujet Re:Bouton parcourir
Génial yvesca, gros gros merci. J'avais trouvé une solution autre du genre usine à gaz de Ravikanth Chaganti.
J'espère qu'il va pleuvoir ce WE pour m'amuser un peu .
Merci encore
J'espère qu'il va pleuvoir ce WE pour m'amuser un peu .
Merci encore
Connexion ou Créer un compte pour participer à la conversation.
- LEON
- Auteur du sujet
- Hors Ligne
- Membre senior
Réduire
Plus d'informations
- Messages : 69
- Remerciements reçus 0
il y a 12 ans 5 mois #10531
par LEON
Réponse de LEON sur le sujet Re:Bouton parcourir
Hum hum, j'ai un truc assez étrange:
Voici mon code:
[code:1]
#Script pour signer un script powershell afin d'utiliser le mode AllSigned
#On prend le premier certificat dans \"Personnel\"
$cert=@(Get-ChildItem cert:\Currentuser\My)[0]
#On choisi le fichier
function Select-FileDialog
{
[Void][System.Reflection.Assembly]::LoadWithPartialName(\"System.Windows.Forms\"«»)
$objForm = New-Object System.Windows.Forms.OpenFileDialog
$Show = $objForm.ShowDialog()
If ($Show -eq \"OK\"«»)
{
Return $objForm.FileName
}
Else
{
Write-Error \"Opération annulé\"
return exit
}
}
$Fichier = Select-FileDialog
#On signe le script
Set-AuthenticodeSignature $Fichier $cert
[/code:1]
Quand je le lance sous PowerGUI, tout fonctionne, par contre via powershell direct, on dirait que ca boucle, rien ne s'affiche.
Une petite idée?
Voici mon code:
[code:1]
#Script pour signer un script powershell afin d'utiliser le mode AllSigned
#On prend le premier certificat dans \"Personnel\"
$cert=@(Get-ChildItem cert:\Currentuser\My)[0]
#On choisi le fichier
function Select-FileDialog
{
[Void][System.Reflection.Assembly]::LoadWithPartialName(\"System.Windows.Forms\"«»)
$objForm = New-Object System.Windows.Forms.OpenFileDialog
$Show = $objForm.ShowDialog()
If ($Show -eq \"OK\"«»)
{
Return $objForm.FileName
}
Else
{
Write-Error \"Opération annulé\"
return exit
}
}
$Fichier = Select-FileDialog
#On signe le script
Set-AuthenticodeSignature $Fichier $cert
[/code:1]
Quand je le lance sous PowerGUI, tout fonctionne, par contre via powershell direct, on dirait que ca boucle, rien ne s'affiche.
Une petite idée?
Connexion ou Créer un compte pour participer à la conversation.
- Yves Campmas
- Hors Ligne
- Nouveau membre
Réduire
Plus d'informations
- Messages : 8
- Remerciements reçus 0
il y a 12 ans 5 mois #10532
par Yves Campmas
Réponse de Yves Campmas sur le sujet Re:Bouton parcourir
Est-ce que tu as lancer ton script depuis une console Posershell en mode STA (dans un cmd : powershell.exe -STA ) ? C'est obligatoire si tu veux lancer des fenêtres.
Connexion ou Créer un compte pour participer à la conversation.
Temps de génération de la page : 0.072 secondes
- Vous êtes ici :
- Accueil
- forum
- PowerShell
- Entraide pour les débutants
- Bouton parcourir