Question [V3-Redirections]Un exemple des possibilités
- Laurent Dardenne
- Auteur du sujet
- Hors Ligne
- Modérateur
-
Réduire
Plus d'informations
- Messages : 6298
- Remerciements reçus 68
il y a 11 ans 1 mois #12854
par Laurent Dardenne
Tutoriels PowerShell
[V3-Redirections]Un exemple des possibilités a été créé par Laurent Dardenne
On peut désormais rediriger la pluspart des flux :
[code:1]
#Get-Help About_Redirection
# * All output
# 1 Success output
# 2 Errors
# 3 Warning messages
# 4 Verbose output
# 5 Debug messages
function Test-Redirection {
Write-host \"Affichage sur le host\" -fore green
Write-Error \"Erreur\"
Write-Warning \"Attention warning \"
Write-verbose \"Mode verbeux\"
Write-Debug \"Info de Debug\"
\"Emission d'un objet dans le pipe\"
}
$VerbosePreference=\"continue\"
$DebugPreference=\"continue\"
$ErrorActionPreference=\"continue\"
$path =\"C:\temp\"
Set-Location $path
Test-Redirection 3> \"$path\warning.txt\"
type \"$path\warning.txt\"
Test-Redirection 4> \"$path\verbose.txt\"
type \"$path\verbose.txt\"
Test-Redirection 5> \"$path\debug.txt\"
type \"$path\debug.txt\"
Test-Redirection 5>&1
#L'instruction suivante ne fonctionne pas
#Test-Redirection 1,3,5> \"$path\host-warning-debug.txt\"
Test-Redirection 4>&1 3>&1 1> \"$path\host-warning-debug.txt\"
type \"$path\host-warning-debug.txt\"
Test-Redirection 4>$null 3>$null 2>$null
Test-Redirection *> \"$path\out.txt\"
type \"$path\out.txt\"
$w=\"$path\warning.txt\"
$v=\"$path\verbose.txt\"
$d=\"$path\debug.txt\"
$e=\"$path\Error.txt\"
Test-Redirection 2>$e 3>$w 4>$v 5>$d
$w,$v,$d,$e | % { write-host $_ -fore cyan; Type $_}
$w,$v,$d,$e |Remove-item
$w,$v,$d,$e=$null
Test-Redirection 2>$e 3>$w 4>$v 5>$d
$w,$v,$d,$e |
Where {$_ -not null} |
Foreach { write-host $_ -fore cyan; Type $_}
[/code:1]
Certains flux dépendent de variables associées, si elles ne sont pas activées la redirection ne reçoit rien, car le cmdlet ou le paramètre associé ne fera rien :
[code:1]
$VerbosePreference=\"Silentlycontinue\"
$DebugPreference=\"Silentlycontinue\"
$ErrorActionPreference=\"Silentlycontinue\"
Test-Redirection 2> \"$path\Error.txt\"
type \"$path\Error.txt\"
Test-Redirection 4> \"$path\verbose.txt\"
type \"$path\verbose.txt\"
Test-Redirection 5> \"$path\debug.txt\"
type \"$path\debug.txt\"
[/code:1]
La doc contient des exemples de ce type là :
[code:1]
InstructionsXX 5>&1
[/code:1]
Mais cela est redondant, car ici si $DebugPreference est configuré sur 'Silentlycontinue', le flux Debug fait ce qu'on lui dit
Cela aurait été intéressant que cette syntaxe outrepasse la préférence du flux concerné.
Sinon, je comprends mieux pourquoi la doc est maintenant updatable...<br><br>Message édité par: Laurent Dardenne, à: 6/10/12 18:29
[code:1]
#Get-Help About_Redirection
# * All output
# 1 Success output
# 2 Errors
# 3 Warning messages
# 4 Verbose output
# 5 Debug messages
function Test-Redirection {
Write-host \"Affichage sur le host\" -fore green
Write-Error \"Erreur\"
Write-Warning \"Attention warning \"
Write-verbose \"Mode verbeux\"
Write-Debug \"Info de Debug\"
\"Emission d'un objet dans le pipe\"
}
$VerbosePreference=\"continue\"
$DebugPreference=\"continue\"
$ErrorActionPreference=\"continue\"
$path =\"C:\temp\"
Set-Location $path
Test-Redirection 3> \"$path\warning.txt\"
type \"$path\warning.txt\"
Test-Redirection 4> \"$path\verbose.txt\"
type \"$path\verbose.txt\"
Test-Redirection 5> \"$path\debug.txt\"
type \"$path\debug.txt\"
Test-Redirection 5>&1
#L'instruction suivante ne fonctionne pas
#Test-Redirection 1,3,5> \"$path\host-warning-debug.txt\"
Test-Redirection 4>&1 3>&1 1> \"$path\host-warning-debug.txt\"
type \"$path\host-warning-debug.txt\"
Test-Redirection 4>$null 3>$null 2>$null
Test-Redirection *> \"$path\out.txt\"
type \"$path\out.txt\"
$w=\"$path\warning.txt\"
$v=\"$path\verbose.txt\"
$d=\"$path\debug.txt\"
$e=\"$path\Error.txt\"
Test-Redirection 2>$e 3>$w 4>$v 5>$d
$w,$v,$d,$e | % { write-host $_ -fore cyan; Type $_}
$w,$v,$d,$e |Remove-item
$w,$v,$d,$e=$null
Test-Redirection 2>$e 3>$w 4>$v 5>$d
$w,$v,$d,$e |
Where {$_ -not null} |
Foreach { write-host $_ -fore cyan; Type $_}
[/code:1]
Certains flux dépendent de variables associées, si elles ne sont pas activées la redirection ne reçoit rien, car le cmdlet ou le paramètre associé ne fera rien :
[code:1]
$VerbosePreference=\"Silentlycontinue\"
$DebugPreference=\"Silentlycontinue\"
$ErrorActionPreference=\"Silentlycontinue\"
Test-Redirection 2> \"$path\Error.txt\"
type \"$path\Error.txt\"
Test-Redirection 4> \"$path\verbose.txt\"
type \"$path\verbose.txt\"
Test-Redirection 5> \"$path\debug.txt\"
type \"$path\debug.txt\"
[/code:1]
La doc contient des exemples de ce type là :
[code:1]
InstructionsXX 5>&1
[/code:1]
Mais cela est redondant, car ici si $DebugPreference est configuré sur 'Silentlycontinue', le flux Debug fait ce qu'on lui dit

Cela aurait été intéressant que cette syntaxe outrepasse la préférence du flux concerné.
Sinon, je comprends mieux pourquoi la doc est maintenant updatable...<br><br>Message édité par: Laurent Dardenne, à: 6/10/12 18:29
Tutoriels PowerShell
Connexion ou Créer un compte pour participer à la conversation.
Temps de génération de la page : 0.056 secondes
- Vous êtes ici :
-
Accueil
-
forum
-
PowerShell
-
Contributions à la communauté
- [V3-Redirections]Un exemple des possibilités