<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-1009349071490622559</id><updated>2012-01-08T13:21:55.338-08:00</updated><title type='text'>ScriptoM@nia</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://walid-toumi.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1009349071490622559/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://walid-toumi.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Walid Toumi</name><uri>http://www.blogger.com/profile/09418417804225451151</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://3.bp.blogspot.com/_NOtXvy-KlZo/TEO9TZuU2rI/AAAAAAAAAAw/J51RJrp1vHE/S220/99.JPG'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>23</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-1009349071490622559.post-8310485759004920239</id><published>2012-01-02T08:54:00.000-08:00</published><updated>2012-01-02T08:58:51.383-08:00</updated><title type='text'>fonction qui affiche et sélectionne les fichiers à la volée</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;salut,&lt;br /&gt;&lt;br /&gt;il y a des fois, la recherche de fichiers dans un répertoire contenant des centaines voire des milliers d'autres fichiers, soit une tâche fastidieuse...ça sera sympa d'avoir une petite fonction qui fait ceci à notre place et en plus sélectionne notre fichier à la voilée, non :)&lt;pre&gt;&lt;br /&gt;Function Select-File {&lt;br /&gt; &lt;br /&gt;  [CmdletBinding()]&lt;br /&gt;  Param(&lt;br /&gt;    [Parameter(Mandatory=$True)]&lt;br /&gt;    [ValidateScript({ &lt;br /&gt;             if(Test-Path $_) {$true}&lt;br /&gt;             else {&lt;br /&gt;               throw $("fichier ""$_"" introuvable")&lt;br /&gt;             } &lt;br /&gt;    })]&lt;br /&gt;    [System.String]$FilePath&lt;br /&gt;  )&lt;br /&gt;  Begin{&lt;br /&gt;      $item=get-item $FilePath&lt;br /&gt;      Start-Process -f explorer.exe -a "/select,""$($item.FullName)"""&lt;br /&gt;  }&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;on peux utiliser cette petite fonction ainsi:&lt;pre&gt;&lt;br /&gt;PS&gt; Select-File c:\fichier.txt&lt;br /&gt;&lt;/pre&gt;EDIT: la fonction ne peux pas être utiliser comme un filtre&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1009349071490622559-8310485759004920239?l=walid-toumi.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://walid-toumi.blogspot.com/feeds/8310485759004920239/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1009349071490622559&amp;postID=8310485759004920239' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1009349071490622559/posts/default/8310485759004920239'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1009349071490622559/posts/default/8310485759004920239'/><link rel='alternate' type='text/html' href='http://walid-toumi.blogspot.com/2012/01/fonction-qui-affiche-et-selectionne-les.html' title='fonction qui affiche et sélectionne les fichiers à la volée'/><author><name>Walid Toumi</name><uri>http://www.blogger.com/profile/09418417804225451151</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://3.bp.blogspot.com/_NOtXvy-KlZo/TEO9TZuU2rI/AAAAAAAAAAw/J51RJrp1vHE/S220/99.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1009349071490622559.post-6030656072417440080</id><published>2011-11-27T11:45:00.001-08:00</published><updated>2011-11-27T11:52:56.987-08:00</updated><title type='text'>get-content peux désormais traiter les fichiers XML</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;br /&gt;&lt;br /&gt;salut,pour eviter de caster tout le temps les fichiers xml en &lt;b&gt;[Xml]&lt;/b&gt; à fin de les traiter j'ai ajouté deux nouveaux paramètres à 'get-content'&lt;b&gt; AsXml&lt;/b&gt; et &lt;b&gt;XPath&lt;/b&gt; pour que le traitement soit direct. &lt;br /&gt;&lt;pre&gt;Function Get-Content {&lt;br /&gt;&amp;lt;#&lt;br /&gt;***************************************************************************&lt;br /&gt; &lt;br /&gt; --------------------8&amp;lt;-----------------------------------------&lt;br /&gt;    Ajout de deux nouveaux paramètres pour simplifier&lt;br /&gt;    le traitement des fichiers XML: [-AsXml] [-XPath &lt;string&gt;]&lt;br /&gt;    &lt;br /&gt;    Attention: l'expression Xpath est sEnSiBlE à La cAsSe&lt;br /&gt;    &lt;br /&gt;                                  Walid toumi             &lt;br /&gt; --------------------8&amp;lt;-----------------------------------------&lt;br /&gt; &lt;br /&gt; PS&amp;gt; # Exemples d'utilisation:&lt;br /&gt; &lt;br /&gt; PS&amp;gt; $file = "$PSHOME\types.ps1xml"&lt;br /&gt; &lt;br /&gt; PS&amp;gt; $u = cat $file -As | Select-Xml -XP "//ScriptProperty" | Select -Expand Node&lt;br /&gt; PS&amp;gt; $u&lt;br /&gt;&lt;br /&gt; PS&amp;gt; $Xml = Get-Content $file -AsXml&lt;br /&gt; PS&amp;gt; $Xml.Types.Type[1..10]&lt;br /&gt; &lt;br /&gt; PS&amp;gt; Get-Content $file -AsXml -XPath "//Type[contains(Name,'Xml')]/Name"&lt;br /&gt; &lt;br /&gt; **************************************************************************&lt;br /&gt; &lt;br /&gt;.ForwardHelpTargetName Get-Content&lt;br /&gt;.ForwardHelpCategory Cmdlet&lt;br /&gt;&lt;br /&gt;#&amp;gt;&lt;br /&gt;&lt;br /&gt;[CmdletBinding(DefaultParameterSetName='Path', SupportsTransactions=$true)]&lt;br /&gt;param(&lt;br /&gt;    [Parameter(ValueFromPipelineByPropertyName=$true)]&lt;br /&gt;    [System.Int64]&lt;br /&gt;    ${ReadCount},&lt;br /&gt;&lt;br /&gt;    [Parameter(ValueFromPipelineByPropertyName=$true)]&lt;br /&gt;    [System.Int64]&lt;br /&gt;    ${TotalCount},&lt;br /&gt;&lt;br /&gt;    [Parameter(ParameterSetName='Path', Mandatory=$true, Position=0, ValueFromPipelineByPropertyName=$true)]&lt;br /&gt;    [System.String[]]&lt;br /&gt;    ${Path},&lt;br /&gt;&lt;br /&gt;    [Parameter(ParameterSetName='LiteralPath', Mandatory=$true, Position=0, ValueFromPipelineByPropertyName=$true)]&lt;br /&gt;    [Alias('PSPath')]&lt;br /&gt;    [System.String[]]&lt;br /&gt;    ${LiteralPath},&lt;br /&gt;&lt;br /&gt;    [System.String]&lt;br /&gt;    ${Filter},&lt;br /&gt;&lt;br /&gt;    [System.String[]]&lt;br /&gt;    ${Include},&lt;br /&gt;&lt;br /&gt;    [System.String[]]&lt;br /&gt;    ${Exclude},&lt;br /&gt;    &lt;br /&gt;    [System.String]&lt;br /&gt;    ${XPath},&lt;br /&gt;&lt;br /&gt;    [Switch]&lt;br /&gt;    ${Force},&lt;br /&gt;    &lt;br /&gt;    [Switch]&lt;br /&gt;    ${AsXml},&lt;br /&gt;&lt;br /&gt;    [Parameter(ValueFromPipelineByPropertyName=$true)]&lt;br /&gt;    [System.Management.Automation.PSCredential]&lt;br /&gt;    ${Credential})&lt;br /&gt;&lt;br /&gt;begin&lt;br /&gt;{&lt;br /&gt;    try {&lt;br /&gt;        $outBuffer = $null&lt;br /&gt;        if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer))&lt;br /&gt;        {&lt;br /&gt;            $PSBoundParameters['OutBuffer'] = 1&lt;br /&gt;        }&lt;br /&gt;        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand('Microsoft.PowerShell.Management\Get-Content', [System.Management.Automation.CommandTypes]::Cmdlet)&lt;br /&gt;        $cmd = ''&lt;br /&gt;         if($AsXml) {&lt;br /&gt;          [void]$PSBoundParameters.Remove('AsXml')&lt;br /&gt;          $cmd += ' | ForEach-Object {$fx=@()} {$fx+=$_} {$fx -as [Xml]}'&lt;br /&gt;            if($XPath) {&lt;br /&gt;               [void]$PSBoundParameters.Remove('XPath')&lt;br /&gt;               $cmd += ' | Select-Xml -XPath $XPath | Select -expand Node'&lt;br /&gt;            }&lt;br /&gt;        } &lt;br /&gt;        $ScriptCmd = [ScriptBlock]::Create(&lt;br /&gt;           { &amp;amp; $wrappedCmd @PSBoundParameters }.ToString() + $Cmd&lt;br /&gt;          )&lt;br /&gt;        $steppablePipeline = $scriptCmd.GetSteppablePipeline($myInvocation.CommandOrigin)&lt;br /&gt;        $steppablePipeline.Begin($PSCmdlet)&lt;br /&gt;    } catch {&lt;br /&gt;        throw&lt;br /&gt;    }&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;process&lt;br /&gt;{&lt;br /&gt;    try {&lt;br /&gt;        $steppablePipeline.Process($_)&lt;br /&gt;    } catch {&lt;br /&gt;        throw&lt;br /&gt;    }&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;end&lt;br /&gt;{&lt;br /&gt;    try {&lt;br /&gt;        $steppablePipeline.End()&lt;br /&gt;    } catch {&lt;br /&gt;        throw&lt;br /&gt;    }&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;/string&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1009349071490622559-6030656072417440080?l=walid-toumi.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://walid-toumi.blogspot.com/feeds/6030656072417440080/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1009349071490622559&amp;postID=6030656072417440080' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1009349071490622559/posts/default/6030656072417440080'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1009349071490622559/posts/default/6030656072417440080'/><link rel='alternate' type='text/html' href='http://walid-toumi.blogspot.com/2011/11/get-content-peux-desormais-traiter-les.html' title='get-content peux désormais traiter les fichiers XML'/><author><name>Walid Toumi</name><uri>http://www.blogger.com/profile/09418417804225451151</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://3.bp.blogspot.com/_NOtXvy-KlZo/TEO9TZuU2rI/AAAAAAAAAAw/J51RJrp1vHE/S220/99.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1009349071490622559.post-1108800951661035977</id><published>2011-11-20T04:50:00.000-08:00</published><updated>2011-11-20T21:30:18.233-08:00</updated><title type='text'>Get-ChildItem un peu plus conviviale :)</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;Salut,je ne sais pas si quelqu'un d'autre a eu l'idée d'ajouter ces deux fonctionnalités à la cmdlet 'Get-ChildItem' et je n'ai pas aussi tester Powershell vNext pour voir s'il implémente l'une de ces deux fonctionnalités...alors, je me suis dit pourquoi attendre ?! j'ai tout ce qu'il me faut pour configurer mes 'cmdlets' .... alors la première chose qui m'ai venu à l'esprit c'est d'ajouter deux nouveaux paramètres: 'FileSizeInHumanReadableFormat' et 'Pattern' le premier est une implémentation du switch '-lh' de la commande lunix 'ls' qui signifie "Display File Size in Human Readable Format" et l'autre paramètre pour allez un cran au-dessus des simples wildcards utiliser par les "filter" et "include" ... 'pattern' va nous permette d'utiliser les RegExp dans nos recheches :)vous pouvez voir les nouveaux paramètres de la fonction 'Get-ChildItem' en écrivant ceci:&lt;br /&gt;&lt;pre&gt; &lt;br /&gt;Get-Command Get-ChildItem -TotalCount 1 -Syntax  &lt;br /&gt;&lt;/pre&gt;en fait le méchanisme d'execution des commandes dans "Windows Powershell"&lt;br /&gt;&lt;pre&gt;help Precedence&lt;br /&gt;&lt;/pre&gt;va nous permettre d'executer notre fonction avant le cmdlet 'Get-Childtem' &lt;br /&gt;&lt;pre&gt;Function Get-ChildItem {&lt;br /&gt;&amp;lt;#&lt;br /&gt;&lt;br /&gt;.ForwardHelpTargetName Get-ChildItem&lt;br /&gt;.ForwardHelpCategory Cmdlet&lt;br /&gt;&lt;br /&gt;#&amp;gt;&lt;br /&gt;&lt;br /&gt;[CmdletBinding(DefaultParameterSetName='Items', SupportsTransactions=$true)]&lt;br /&gt;param(&lt;br /&gt;    [Parameter(ParameterSetName='Items', Position=0, ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true)]&lt;br /&gt;    [System.String[]]&lt;br /&gt;    ${Path},&lt;br /&gt;&lt;br /&gt;    [Parameter(ParameterSetName='LiteralItems', Mandatory=$true, Position=0, ValueFromPipelineByPropertyName=$true)]&lt;br /&gt;    [Alias('PSPath')]&lt;br /&gt;    [System.String[]]&lt;br /&gt;    ${LiteralPath},&lt;br /&gt;&lt;br /&gt;    [Parameter(Position=1)]&lt;br /&gt;    [System.String]&lt;br /&gt;    ${Filter},&lt;br /&gt;&lt;br /&gt;    [System.String[]]&lt;br /&gt;    ${Include},&lt;br /&gt;&lt;br /&gt;    [System.String[]]&lt;br /&gt;    ${Exclude},&lt;br /&gt;    &lt;br /&gt;    [System.String]&lt;br /&gt;    ${Pattern},&lt;br /&gt;&lt;br /&gt;    [Switch]&lt;br /&gt;    ${Recurse},&lt;br /&gt;&lt;br /&gt;    [Switch]&lt;br /&gt;    ${FileSizeInHumanReadableFormat},&lt;br /&gt;&lt;br /&gt;    [Switch]&lt;br /&gt;    ${Force},&lt;br /&gt;&lt;br /&gt;    [Switch]&lt;br /&gt;    ${Name})&lt;br /&gt;&lt;br /&gt;begin&lt;br /&gt;{&lt;br /&gt;    try {&lt;br /&gt;        $outBuffer = $null&lt;br /&gt;        if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer))&lt;br /&gt;        {&lt;br /&gt;            $PSBoundParameters['OutBuffer'] = 1&lt;br /&gt;        }&lt;br /&gt;        $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand('Microsoft.PowerShell.Management\Get-ChildItem', [System.Management.Automation.CommandTypes]::Cmdlet)&lt;br /&gt;        $cmd = ""&lt;br /&gt;        if($FileSizeInHumanReadableFormat) {&lt;br /&gt;          $PSBoundParameters.Remove('FileSizeInHumanReadableFormat') | Out-Null&lt;br /&gt;          $cmd = @"&lt;br /&gt;            | ForEach-Object {&lt;br /&gt;                `$_length=Switch(`$_.length) {&lt;br /&gt;                  { `$_ -lt 1kb } &lt;br /&gt;                           {  '{0}B' -f (`$_) ;break }&lt;br /&gt;                  { `$_ -lt 1MB }&lt;br /&gt;                           {  '{0}KB' -f ([math]::round(`$(`$_/ 1kb)), 2) ;break }&lt;br /&gt;                  { `$_ -lt 1gb }&lt;br /&gt;                            { '{0}MB' -f ([math]::round(`$(`$_/ 1mb), 2)) ;break }&lt;br /&gt;                  defaut { &lt;br /&gt;                            {  '{0}GB' -f ([math]::round(`$(`$_/ 1gb), 2)) ;break }&lt;br /&gt;                   }&lt;br /&gt;                }&lt;br /&gt;                if(`$_.PSISContainer) { `$_length=`$null }&lt;br /&gt;                New-Object PSObject -Property @{&lt;br /&gt;                  Mode = `$_.Mode&lt;br /&gt;                  LastWriteTime = `$_.LastWriteTime&lt;br /&gt;                  Length = `$_length&lt;br /&gt;                  Name = `$_.Name&lt;br /&gt;                }&lt;br /&gt;            }         &lt;br /&gt;"@&lt;br /&gt;        }&lt;br /&gt;        if($PSBoundParameters['Pattern']) {&lt;br /&gt;          if($Filter -or $Include) {&lt;br /&gt;           throw "les paramètres Pattern et Filter/Include sont mutuellemnt exculsive"&lt;br /&gt;          } else {&lt;br /&gt;          $PSBoundParameters.Remove('Pattern') | Out-Null&lt;br /&gt;          $scriptCmd = {&amp;amp; $wrappedCmd @PSBoundParameters | Where { $_.Name -imatch "$Pattern"  } }&lt;br /&gt;          }&lt;br /&gt;        } else {&lt;br /&gt;          $scriptCmd = {&amp;amp; $wrappedCmd @PSBoundParameters } &lt;br /&gt;        }&lt;br /&gt;        $scriptCmd = $ExecutionContext.InvokeCommand.NewScriptBlock(&lt;br /&gt;                $scriptCmd.ToString() + $cmd&lt;br /&gt;            )&lt;br /&gt;        $steppablePipeline = $scriptCmd.GetSteppablePipeline($myInvocation.CommandOrigin)&lt;br /&gt;        $steppablePipeline.Begin($PSCmdlet)&lt;br /&gt;    } catch {&lt;br /&gt;        throw&lt;br /&gt;    }&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;process&lt;br /&gt;{&lt;br /&gt;    try {&lt;br /&gt;        $steppablePipeline.Process($_)&lt;br /&gt;    } catch {&lt;br /&gt;        throw&lt;br /&gt;    }&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;end&lt;br /&gt;{&lt;br /&gt;    try {&lt;br /&gt;        $steppablePipeline.End()&lt;br /&gt;    } catch {&lt;br /&gt;        throw&lt;br /&gt;    }&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;voici quelques utilisation de cette fonction:&lt;br /&gt;&lt;pre&gt;Get-ChildItem  -Path $env:windir -Pattern "^\d{2}" -FileSizeInHumanReadableFormat&lt;br /&gt;&lt;/pre&gt;&lt;pre&gt;Get-ChildItem -path $env:windir -filter *.txt -FileSizeInHumanReadableFormat&lt;/pre&gt;&lt;pre&gt;&amp;nbsp;&lt;/pre&gt;&lt;pre&gt;la sortie de la commande est un objet:&lt;/pre&gt;&lt;pre&gt;&lt;b&gt;System.Management.Automation.PSCustomObject&lt;/b&gt;&amp;nbsp;&lt;/pre&gt;&lt;pre&gt; ou&lt;/pre&gt;&lt;pre&gt;&lt;b&gt;System.IO.FileSystemInfo&lt;/b&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1009349071490622559-1108800951661035977?l=walid-toumi.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://walid-toumi.blogspot.com/feeds/1108800951661035977/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1009349071490622559&amp;postID=1108800951661035977' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1009349071490622559/posts/default/1108800951661035977'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1009349071490622559/posts/default/1108800951661035977'/><link rel='alternate' type='text/html' href='http://walid-toumi.blogspot.com/2011/11/get-childitem-un-peu-plus-conviviale.html' title='Get-ChildItem un peu plus conviviale :)'/><author><name>Walid Toumi</name><uri>http://www.blogger.com/profile/09418417804225451151</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://3.bp.blogspot.com/_NOtXvy-KlZo/TEO9TZuU2rI/AAAAAAAAAAw/J51RJrp1vHE/S220/99.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1009349071490622559.post-5460294748801893404</id><published>2011-11-10T22:25:00.000-08:00</published><updated>2011-11-20T21:39:09.093-08:00</updated><title type='text'>Get-Help:  comment afficher l'aide graphique sans être connecté à internet</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;salut,&lt;br /&gt;&lt;br /&gt;voici une petite fonction proxy du cmdlet Get-Help qui vous permettera d'avoir une aide graphique sans utilisation du paramètre "Online" (qui requiert une connexion internet)...la démarche est toute simple: On décompile à la volée le fichier d'aide local de PS puis on sélectionne la rubrique choisi par une simple recherche...&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;Function Get-Man {&lt;br /&gt;&amp;lt;#&lt;br /&gt;&lt;br /&gt;.ForwardHelpTargetName Get-Help&lt;br /&gt;.ForwardHelpCategory Cmdlet&lt;br /&gt;&lt;br /&gt;#&amp;gt;&lt;br /&gt;&lt;br /&gt;[CmdletBinding(DefaultParameterSetName='AllUsersView')]&lt;br /&gt;param(&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; [Parameter(Position=0, ValueFromPipelineByPropertyName=$true)]&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; [System.String]&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ${Name},&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; [System.String]&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ${Path},&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; [System.String[]]&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ${Category},&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; [System.String[]]&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ${Component},&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; [System.String[]]&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ${Functionality},&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; [System.String[]]&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ${Role},&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; [Parameter(ParameterSetName='DetailedView')]&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; [Switch]&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ${Detailed},&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; [Parameter(ParameterSetName='AllUsersView')]&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; [Switch]&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ${Full},&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; [Parameter(ParameterSetName='Examples')]&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; [Switch]&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ${Examples},&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; [Parameter(ParameterSetName='Parameters')]&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; [System.String]&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ${Parameter},&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; # affiche l'aide dans le navigateur par defaut&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; [Switch]&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ${ShowUI},&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; [Switch]&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ${Online})&lt;br /&gt;&lt;br /&gt;begin&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; try {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $outBuffer = $null&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer))&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $PSBoundParameters['OutBuffer'] = 1&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand('Get-Help', [System.Management.Automation.CommandTypes]::Cmdlet)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if($PSBoundParameters['ShowUI']) {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $null=$PSBoundParameters.Remove('ShowUI')&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; function invokeUI {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; param(&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; [Parameter(ValueFromPipeLineByPropertyName=$True)]&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $Name&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; )&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Begin{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $HelpChm = "$env:Windir\Help\WindowsPowerShellHelp.chm"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $HelpTmp = "$env:Temp\PSCmd"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (! (Test-Path $HelpChm) ) { &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; throw "le fichier source $HelpChm est introuvable"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if(! (Test-Path $HelpTmp)) {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Start-Process -File "hh.exe" -Arg "-decompile $HelpTmp $HelpChm" -Wait&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $HtmlFiles = Get-childItem "$HelpTmp\html" *.htm&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Process{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; forEach($file in @($HtmlFiles)) {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; [Xml]$Xml = get-content $file.Fullname&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if($Xml.html.head.title -ieq "$Name") {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; invoke-item $file.Fullname &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; End{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Remove-Item $HelpTmp -Recurse&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $scriptCmd = {&amp;amp; $wrappedCmd @PSBoundParameters | invokeUI}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; } else {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $scriptCmd = {&amp;amp; $wrappedCmd @PSBoundParameters }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $steppablePipeline = $scriptCmd.GetSteppablePipeline($myInvocation.CommandOrigin)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $steppablePipeline.Begin($PSCmdlet)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; } catch {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; throw&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;process&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; try {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $steppablePipeline.Process($_)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; } catch {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; throw&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;end&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; try {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $steppablePipeline.End()&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; } catch {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; throw&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;l'utilisation de Get-Man est simple voici quelques exemples:&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;PS&amp;gt;&amp;nbsp; Get-Man -Name Select-Xml -ShowUI&lt;/pre&gt;&lt;pre&gt;&amp;nbsp;&lt;/pre&gt;&lt;pre&gt;PS&amp;gt; Get-commend Get-Man -syntax&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1009349071490622559-5460294748801893404?l=walid-toumi.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://walid-toumi.blogspot.com/feeds/5460294748801893404/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1009349071490622559&amp;postID=5460294748801893404' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1009349071490622559/posts/default/5460294748801893404'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1009349071490622559/posts/default/5460294748801893404'/><link rel='alternate' type='text/html' href='http://walid-toumi.blogspot.com/2011/11/get-help-comment-afficher-laide.html' title='Get-Help:  comment afficher l&apos;aide graphique sans être connecté à internet'/><author><name>Walid Toumi</name><uri>http://www.blogger.com/profile/09418417804225451151</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://3.bp.blogspot.com/_NOtXvy-KlZo/TEO9TZuU2rI/AAAAAAAAAAw/J51RJrp1vHE/S220/99.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1009349071490622559.post-5325419634791860863</id><published>2011-08-24T09:32:00.000-07:00</published><updated>2011-08-24T09:32:49.427-07:00</updated><title type='text'>plage d'adresses</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;salut,&lt;br /&gt;&lt;br /&gt;voici un petit script simple pour trouver une plage d'adresses entre deux IP:&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; @echo off&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; call :go 192.168.0.3 192.168.0.65&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; echo %ips%&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; goto :eof&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; :go&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; setlocal enabledelayedexpansion&amp;amp;set a=0&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; for /f "tokens=1-8 delims=." %%a in ("%1.%2") do (&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; set /A a=%%h-%%d,b=%%g-%%c,c=%%f-%%b,d=%%e-%%a &amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for %%e in (b c d) do (&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if !%%e! gtr 0 (set e=!e!*255) else (set e=)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; set /A a+=%%e!e!&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ))&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; endlocal &amp;amp; set ips=%a%&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1009349071490622559-5325419634791860863?l=walid-toumi.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://walid-toumi.blogspot.com/feeds/5325419634791860863/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1009349071490622559&amp;postID=5325419634791860863' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1009349071490622559/posts/default/5325419634791860863'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1009349071490622559/posts/default/5325419634791860863'/><link rel='alternate' type='text/html' href='http://walid-toumi.blogspot.com/2011/08/plage-dadresses.html' title='plage d&apos;adresses'/><author><name>Walid Toumi</name><uri>http://www.blogger.com/profile/09418417804225451151</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://3.bp.blogspot.com/_NOtXvy-KlZo/TEO9TZuU2rI/AAAAAAAAAAw/J51RJrp1vHE/S220/99.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1009349071490622559.post-7153477452365935527</id><published>2011-08-24T09:26:00.000-07:00</published><updated>2011-08-24T09:26:46.236-07:00</updated><title type='text'>comment convertir un decimal en binaire</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&amp;nbsp;salut,&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;@echo off&lt;br /&gt;&lt;br /&gt;set num=&lt;br /&gt;set bin=&lt;br /&gt;set k=&lt;br /&gt;&lt;br /&gt;set /A num=%1,1/num 2&amp;gt;Nul || (&lt;br /&gt;&amp;nbsp; findstr /bl "::|" %0&lt;br /&gt;&amp;nbsp; exit /b 1)&lt;br /&gt;::|&lt;br /&gt;::| usage:&amp;nbsp; prog &lt;int&gt;&lt;br /&gt;::|&lt;br /&gt;::| exemple: prog 2335&lt;br /&gt;::|&lt;br /&gt;:lp&lt;br /&gt;set /A k=num %% 2&lt;br /&gt;set bin=%k%%bin%&lt;br /&gt;set /A num/=2&lt;br /&gt;if %num% gtr 0 goto :lp&lt;br /&gt;&lt;br /&gt;echo&amp;nbsp; %bin%&lt;/int&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1009349071490622559-7153477452365935527?l=walid-toumi.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://walid-toumi.blogspot.com/feeds/7153477452365935527/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1009349071490622559&amp;postID=7153477452365935527' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1009349071490622559/posts/default/7153477452365935527'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1009349071490622559/posts/default/7153477452365935527'/><link rel='alternate' type='text/html' href='http://walid-toumi.blogspot.com/2011/08/comment-convertir-un-decimal-en-binaire.html' title='comment convertir un decimal en binaire'/><author><name>Walid Toumi</name><uri>http://www.blogger.com/profile/09418417804225451151</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://3.bp.blogspot.com/_NOtXvy-KlZo/TEO9TZuU2rI/AAAAAAAAAAw/J51RJrp1vHE/S220/99.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1009349071490622559.post-4131180887218462622</id><published>2011-07-27T01:19:00.000-07:00</published><updated>2011-07-27T01:22:01.368-07:00</updated><title type='text'>Comment numéroter les lignes d'un fichier:</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;salut,&lt;br /&gt;&lt;br /&gt;L'une des solutions possibles:&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&amp;nbsp;  @Echo &amp;gt;$ oFF&lt;br /&gt;&amp;nbsp;&amp;nbsp; Set file=&lt;b&gt;c:\temp\a.txt&lt;/b&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; for /f "delims=" %%a in ('&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "fc /l /n %file% $|findstr -vbi [\*A-Z]"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ') do echo %%a&lt;br /&gt;&amp;nbsp;&amp;nbsp; del $ &lt;br /&gt;&amp;nbsp;&amp;nbsp; goto:eof &lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1009349071490622559-4131180887218462622?l=walid-toumi.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://walid-toumi.blogspot.com/feeds/4131180887218462622/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1009349071490622559&amp;postID=4131180887218462622' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1009349071490622559/posts/default/4131180887218462622'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1009349071490622559/posts/default/4131180887218462622'/><link rel='alternate' type='text/html' href='http://walid-toumi.blogspot.com/2011/07/comment-numeroter-les-lignes-dun.html' title='Comment numéroter les lignes d&apos;un fichier:'/><author><name>Walid Toumi</name><uri>http://www.blogger.com/profile/09418417804225451151</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://3.bp.blogspot.com/_NOtXvy-KlZo/TEO9TZuU2rI/AAAAAAAAAAw/J51RJrp1vHE/S220/99.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1009349071490622559.post-4838532754272042526</id><published>2011-05-14T10:21:00.000-07:00</published><updated>2011-05-14T10:21:49.627-07:00</updated><title type='text'>utilisation de %variable% en PS</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;                      Salut,&lt;br /&gt;&lt;br /&gt;voici une petite fonction pouvant afficher/créer des variables d'environements aussi simple que les batchs NT&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;pre class="alt2" dir="ltr" style="border: 1px inset; clear: both; height: 182px; margin: 0px; overflow: auto; padding: 6px; text-align: left; width: 690px;"&gt;&lt;pre style="margin: 0;"&gt;del alias:set -ea 0&lt;br /&gt;function set&lt;br /&gt;{&lt;br /&gt;  $_nam,$_rest = "$args".Split('=')&lt;br /&gt;  if(!$_rest -and $_nam) { gci "env:$($_nam)" }&lt;br /&gt;  elseif(!$_nam) { gci env: }&lt;br /&gt;  else {&lt;br /&gt;    $_val = [environment]::ExpandEnvironmentVariables("$_rest")&lt;br /&gt;    ni -pa env:$_nam -va $_val -fo&lt;br /&gt;  }&lt;br /&gt;}&lt;/pre&gt;&lt;/pre&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;et voici quelques exemples d'utilisation:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;pre class="alt2" dir="ltr" style="border: 1px inset; clear: both; height: 258px; margin: 0px; overflow: auto; padding: 6px; text-align: left; width: 692px;"&gt;&lt;pre style="margin: 0;"&gt;[1] &lt;span style="color: seagreen;"&gt;# affichage de toutes les variables d'environments&lt;/span&gt;&lt;br /&gt;[1] set&lt;br /&gt;Name                           Value                                           &lt;br /&gt;----                           -----                                           &lt;br /&gt;ALLUSERSPROFILE                D:\Documents and Settings\All Users             &lt;br /&gt;APPDATA                        D:\Documents and Settings\walid2mi\Applicatio...&lt;br /&gt;CLIENTNAME                     Console                                         &lt;br /&gt;CommonProgramFiles             D:\Program Files\Fichiers communs   &lt;br /&gt;...&lt;br /&gt;...&lt;br /&gt;&lt;br /&gt;[2] &lt;span style="color: seagreen;"&gt;# affichage des variables commencant par "P"&lt;/span&gt;&lt;br /&gt;[2] set p*&lt;br /&gt;Name                           Value                                           &lt;br /&gt;----                           -----                                           &lt;br /&gt;Path                           D:\WINDOWS\system32;D:\WINDOWS;D:\WINDOWS\Sys...&lt;br /&gt;PATHEXT                        .COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;....&lt;br /&gt;PROCESSOR_ARCHITECTURE         x86                                             &lt;br /&gt;ProgramFiles                   D:\Program Files                                &lt;br /&gt;&lt;br /&gt;[3]&lt;span style="color: seagreen;"&gt; # création d'une variable "user"&lt;/span&gt;&lt;br /&gt;[3] set user = %username%&lt;br /&gt;&lt;br /&gt;[4] &lt;span style="color: seagreen;"&gt;# création d'une variable "Home"&lt;/span&gt;&lt;br /&gt;[4] set home=$home&lt;/pre&gt;&lt;/pre&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1009349071490622559-4838532754272042526?l=walid-toumi.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://walid-toumi.blogspot.com/feeds/4838532754272042526/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1009349071490622559&amp;postID=4838532754272042526' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1009349071490622559/posts/default/4838532754272042526'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1009349071490622559/posts/default/4838532754272042526'/><link rel='alternate' type='text/html' href='http://walid-toumi.blogspot.com/2011/05/utilisation-de-variable-en-ps.html' title='utilisation de %variable% en PS'/><author><name>Walid Toumi</name><uri>http://www.blogger.com/profile/09418417804225451151</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://3.bp.blogspot.com/_NOtXvy-KlZo/TEO9TZuU2rI/AAAAAAAAAAw/J51RJrp1vHE/S220/99.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1009349071490622559.post-5066135942048011288</id><published>2011-05-04T05:03:00.000-07:00</published><updated>2011-05-04T05:03:47.681-07:00</updated><title type='text'>Ajouter un add-On à son éditeur ISE</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;Salut,&lt;br /&gt;&lt;br /&gt;me revoilà, ce petit code permet d'ajouter à la barre de menu un nouveau menu personnalisé destiné à l'ajout des add-ons, vous pouvez inclure cette fonction dans votre profil ISE pour qu'elle se charge à chaque session démarrée.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;pre class="alt2" dir="ltr" style="border: 1px inset; clear: both; height: 258px; margin: 0px; overflow: auto; padding: 6px; text-align: left; width: 690px;"&gt;&lt;pre style="margin: 0;"&gt;Function Add-AddOns&lt;br /&gt;{&lt;br /&gt;&amp;lt;# &lt;br /&gt;.synopsis&lt;br /&gt; affiche et/ou créer des add-ons&lt;br /&gt;.parameter List&lt;br /&gt;  affiche tous les noms des add-ons disponibles&lt;br /&gt;.parameter Name&lt;br /&gt;  nom du add-on&lt;br /&gt;.parameter ShortCut&lt;br /&gt;  un raccourcis pour le add-on&lt;br /&gt;.parameter Action&lt;br /&gt;  un bloc de script qui va s'executer à l'appel du add-on&lt;br /&gt;.example&lt;br /&gt;  Add-AddOns -List&lt;br /&gt;.example&lt;br /&gt; PS&amp;gt; Add-AddOns -n "Effacer le volet de Script" -s "ctrl+shift+b" -a {   &lt;br /&gt; &amp;gt;&amp;gt;   $psISE.CurrentFile.Editor.Clear()&lt;br /&gt; &amp;gt;&amp;gt;  }&lt;br /&gt;&lt;br /&gt;  Créer un add-on pour effacer le volet script&lt;br /&gt;.example&lt;br /&gt;  PS&amp;gt; Add-AddOns -RemoveAll&lt;br /&gt;  &lt;br /&gt;  Supprime tous les add-Ons &lt;br /&gt;.example&lt;br /&gt;  PS&amp;gt; Add-AddOns -RemoveItem 1&lt;br /&gt;  &lt;br /&gt;  Supprime l'add-on ayant l'index 1&lt;br /&gt;.example&lt;br /&gt;  PS&amp;gt; $sb = { Invoke-Expression 'c:\script.ps1'  }&lt;br /&gt;  PS&amp;gt; Add-AddOns "script.ps1" "Ctrl+shift+q" $sb&lt;br /&gt;  &lt;br /&gt;  Execute le script 'c:\script.ps1'&lt;br /&gt;#&amp;gt; &lt;br /&gt;  [CmdletBinding(DefaultParameterSetName='List')]&lt;br /&gt;  Param(&lt;br /&gt;   [Parameter(Mandatory=$False,Position=0,ParameterSetName='List')]&lt;br /&gt;   [Switch]$List,&lt;br /&gt;   [Parameter(Mandatory=$True,Position=0,ParameterSetName='RemoveAll')]&lt;br /&gt;   [Switch]$RemoveAll,&lt;br /&gt;   [Parameter(Mandatory=$True,Position=0,ParameterSetName='RemoveItem')]&lt;br /&gt;   [int]$RemoveItem,&lt;br /&gt;   [Parameter(Mandatory=$True,Position=0,ParameterSetName='Name')]&lt;br /&gt;   [String]$Name,&lt;br /&gt;   [Parameter(Mandatory=$false,Position=1,ParameterSetName='Name')]&lt;br /&gt;   $ShortCut=$null,&lt;br /&gt;   [Parameter(Mandatory=$True,Position=2,ParameterSetName='Name')]&lt;br /&gt;   [ScriptBlock]$Action&lt;br /&gt;  )&lt;br /&gt;  if($Host.Name -ne 'Windows PowerShell ISE Host') &lt;br /&gt;  { throw "fonctionne uniquement dans l'environment ISE" }&lt;br /&gt;  Switch ($PSCmdlet.ParameterSetName)&lt;br /&gt;  {&lt;br /&gt;     "List"&lt;br /&gt;     {&lt;br /&gt;        $Items = $psISE.CurrentPowerShellTab.AddOnsMenu.Submenus&lt;br /&gt;        for($i=0;$i -le $items.count-1;$i++) &lt;br /&gt;         { Select -inp $Items @{n="Index";e={$i}},&lt;br /&gt;            @{n="Name";e={$_.Item($i).DisplayName}}   &lt;br /&gt;         }&lt;br /&gt;     }&lt;br /&gt;     "RemoveAll"&lt;br /&gt;     { &lt;br /&gt;       $psISE.CurrentPowerShellTab.AddOnsMenu.Submenus.Clear() &lt;br /&gt;     }&lt;br /&gt;     "RemoveItem"&lt;br /&gt;     { &lt;br /&gt;       $psISE.CurrentPowerShellTab.AddOnsMenu.Submenus.RemoveAt($RemoveItem)&lt;br /&gt;     }&lt;br /&gt;     "Name"&lt;br /&gt;     {&lt;br /&gt;       $psISE.CurrentPowerShellTab.AddOnsMenu.Submenus.Add($Name,$Action,$ShortCut)&lt;br /&gt;     }&lt;br /&gt;  }&lt;br /&gt;}&lt;/pre&gt;&lt;/pre&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Bon Scripting&amp;nbsp; ;)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1009349071490622559-5066135942048011288?l=walid-toumi.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://walid-toumi.blogspot.com/feeds/5066135942048011288/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1009349071490622559&amp;postID=5066135942048011288' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1009349071490622559/posts/default/5066135942048011288'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1009349071490622559/posts/default/5066135942048011288'/><link rel='alternate' type='text/html' href='http://walid-toumi.blogspot.com/2011/05/ajouter-un-add-on-son-editeur-ise.html' title='Ajouter un add-On à son éditeur ISE'/><author><name>Walid Toumi</name><uri>http://www.blogger.com/profile/09418417804225451151</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://3.bp.blogspot.com/_NOtXvy-KlZo/TEO9TZuU2rI/AAAAAAAAAAw/J51RJrp1vHE/S220/99.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1009349071490622559.post-4653785200913679725</id><published>2011-04-22T21:50:00.001-07:00</published><updated>2011-05-26T13:33:45.694-07:00</updated><title type='text'>Inclure du code PS dans un fichier Batch</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;salut,&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;;@echo off &amp;amp; Setlocal EnableExtensions&lt;br /&gt;;echo CMD %ERRORLEVEL%&lt;br /&gt;;:&amp;lt;&lt;code batch=""&gt;&amp;gt;&lt;br /&gt;;Findstr -rbv ; %0 | powershell -c - &lt;br /&gt;;goto:sCode ######################################&lt;br /&gt;&amp;nbsp;&lt;br /&gt;"PSH " | Write-Host -for yellow -no&lt;br /&gt;$_=$OFS;$OFS=''&lt;br /&gt;$char=87,65,76,73,68,50,77,73,64,71,77,65,73,76,46,67,79,77&lt;br /&gt;([string][char[]]($char));$OFS=$_&lt;br /&gt;exit 5&lt;br /&gt;&amp;nbsp;&lt;br /&gt;;:sCode ######################################&lt;br /&gt;;:&amp;lt;&lt;code batch=""&gt;&amp;gt;&lt;br /&gt;;echo CMD %ERRORLEVEL%&lt;br /&gt;;pause &amp;amp; goto :eof&lt;/code&gt;&lt;/code&gt;&lt;/pre&gt;&lt;code batch=""&gt;&lt;code batch=""&gt;&lt;br /&gt;&lt;/code&gt;&lt;/code&gt;&lt;br /&gt;&lt;code batch=""&gt;&lt;code batch=""&gt;&lt;br /&gt;&lt;/code&gt;&lt;/code&gt;&lt;br /&gt;&lt;code batch=""&gt;&lt;code batch=""&gt;voici une autre approche plus robuste:&lt;/code&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;&lt;code batch=""&gt;&lt;code batch=""&gt;&lt;/code&gt;&lt;/code&gt;&lt;br /&gt;&lt;pre&gt;&lt;pre class="alt2" dir="ltr" style="border: 1px inset; clear: both; height: 246px; margin: 0px; overflow: auto; padding: 6px; text-align: left; width: 690px;"&gt;&lt;pre style="margin: 0;"&gt;@echo off&lt;br /&gt;::::::::::::::::::::::::::::::::::::&lt;br /&gt;For /f "delims=:" %%a In ('&lt;br /&gt;     findstr /Bn "@PS&lt;ps&gt;" %0&lt;br /&gt; ') do Set /ALine=%%a&lt;br /&gt; more +%Line% %0  | powershell -c -&lt;br /&gt;::::::::::::::::::::::::::::::::::::&lt;br /&gt;:: ici suite du code Batch&lt;br /&gt;&lt;br /&gt;dir&lt;br /&gt;pause &amp;amp; exit /b &lt;br /&gt;&lt;br /&gt;&lt;ps&gt;@PS ::::::::::::::::::::::::::::::&lt;br /&gt;Function Get-Test {&lt;br /&gt;  param()&lt;br /&gt;  Begin{&lt;br /&gt;    Write-Warning "Debut du traitement" &lt;br /&gt;  }&lt;br /&gt;  Process{&lt;br /&gt;    write-verbose "ici n'importe quel traitement"&lt;br /&gt;    gps power*,cmd*  &lt;br /&gt;    &amp;lt;# &lt;br /&gt;      un Bloc de commentaires &lt;br /&gt;    #&amp;gt;&lt;br /&gt;  }&lt;br /&gt;  End{&lt;br /&gt;   Write-warning "Fin du traitement"&lt;br /&gt;  }&lt;br /&gt;}&lt;br /&gt;Get-Test&lt;br /&gt;exit&lt;/ps&gt;&lt;/ps&gt;&lt;/pre&gt;&lt;/pre&gt;&lt;code batch=""&gt;&lt;code batch=""&gt;&lt;/code&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;code batch=""&gt;&lt;code batch=""&gt;&lt;br /&gt;&lt;/code&gt;&lt;/code&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1009349071490622559-4653785200913679725?l=walid-toumi.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://walid-toumi.blogspot.com/feeds/4653785200913679725/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1009349071490622559&amp;postID=4653785200913679725' title='1 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1009349071490622559/posts/default/4653785200913679725'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1009349071490622559/posts/default/4653785200913679725'/><link rel='alternate' type='text/html' href='http://walid-toumi.blogspot.com/2011/04/inclure-du-code-ps-dans-un-fichier.html' title='Inclure du code PS dans un fichier Batch'/><author><name>Walid Toumi</name><uri>http://www.blogger.com/profile/09418417804225451151</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://3.bp.blogspot.com/_NOtXvy-KlZo/TEO9TZuU2rI/AAAAAAAAAAw/J51RJrp1vHE/S220/99.JPG'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1009349071490622559.post-2435481686158982719</id><published>2011-04-22T05:08:00.000-07:00</published><updated>2011-05-14T10:28:05.020-07:00</updated><title type='text'>Trier selon les Types d'objets</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;cette petite fonction, à pour rôle de trier selon 3 types d'objets: [String] [Version] et [int]&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre class="alt2" dir="ltr" style="border: 1px inset; clear: both; height: 258px; margin: 0px; overflow: auto; padding: 6px; text-align: left; width: 690px;"&gt;&lt;pre style="margin: 0;"&gt;Function Sort-ObjectType {&lt;br /&gt;&amp;lt;#&lt;br /&gt; .Synopsis&lt;br /&gt;   Sort Object by Types&lt;br /&gt; .Description&lt;br /&gt;   Sort Object by Types&lt;br /&gt; .Parameter Type&lt;br /&gt;   Specifies the type of object&lt;br /&gt;     - ToString:   [System.String]&lt;br /&gt;     - ToInteger:  [System.Int32]&lt;br /&gt;     - ToVersion:  [System.Version]&lt;br /&gt;     - ToIPAddress [System.Net.IPAddress]&lt;br /&gt; .Parameter CaseSensistive&lt;br /&gt; .Parameter Descending&lt;br /&gt; .Parameter Unique    &lt;br /&gt; .Example&lt;br /&gt;  [1]PS&amp;gt; $str += "10","2","5"&lt;br /&gt;  [2]PS&amp;gt; $str | Sort-Object # 10 2 5&lt;br /&gt;  [3]PS&amp;gt; $str | Sort-ObjectType -Type ToInteger # 2 5 10&lt;br /&gt; .Example&lt;br /&gt;  [1]PS&amp;gt; '1.0.1.10','1.0.1.100','1.0.1.9' | Sort-Object -unique&lt;br /&gt;  [2]PS&amp;gt; # 1.0.1.10 &amp;gt; 1.0.1.100 &amp;gt; 1.0.1.9&lt;br /&gt;  [3]PS&amp;gt; '1.0.1.10','1.0.1.100','1.0.1.9' | Sort-ObjectType -Type ToVersion&lt;br /&gt;  [4]PS&amp;gt; # 1.0.1.9 &amp;gt; 1.0.1.10 &amp;gt; 1.0.1.100&lt;br /&gt; .Example&lt;br /&gt;  [1]PS&amp;gt; $ips="3.25.20.100","198.10.3.1","1.2.0.3","10.2.0.6"&lt;br /&gt;  [2]PS&amp;gt; $ips | Sort-ObjectType -Type ToIPAddress &lt;br /&gt; .Outputs&lt;br /&gt;  System.String&lt;br /&gt;#&amp;gt;&lt;br /&gt;#Requires -version 2.0&lt;br /&gt; Param(&lt;br /&gt;  [ValidateSet('ToString','ToInteger','ToVersion','ToIPAddress')]&lt;br /&gt;  $Type,&lt;br /&gt;  [Switch]$CaseSensitive,&lt;br /&gt;  [SWitch]$Descending,&lt;br /&gt;  [Switch]$Unique&lt;br /&gt;  )&lt;br /&gt; $input | Sort-Object -Property {&lt;br /&gt;    $ty=$_&lt;br /&gt;    Switch($Type) {&lt;br /&gt;     'ToString'  {[String]$ty}&lt;br /&gt;     'ToInteger' {[Int]$ty}&lt;br /&gt;     'ToVersion' {[Version]$ty}&lt;br /&gt;     'ToIPAddress' { &lt;br /&gt;         [byte[]]$ty.split('.')|ForEach{[string]::Format("{0:000}",$_)}&lt;br /&gt;         }&lt;br /&gt;     default {$ty}&lt;br /&gt;    }&lt;br /&gt;  } -case:$CaseSensitive -desc:$Descending -uni:$Unique&lt;br /&gt;}&lt;/pre&gt;&lt;/pre&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1009349071490622559-2435481686158982719?l=walid-toumi.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://walid-toumi.blogspot.com/feeds/2435481686158982719/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1009349071490622559&amp;postID=2435481686158982719' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1009349071490622559/posts/default/2435481686158982719'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1009349071490622559/posts/default/2435481686158982719'/><link rel='alternate' type='text/html' href='http://walid-toumi.blogspot.com/2011/04/trier-selon-les-types-dobjets.html' title='Trier selon les Types d&apos;objets'/><author><name>Walid Toumi</name><uri>http://www.blogger.com/profile/09418417804225451151</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://3.bp.blogspot.com/_NOtXvy-KlZo/TEO9TZuU2rI/AAAAAAAAAAw/J51RJrp1vHE/S220/99.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1009349071490622559.post-4863798408681418962</id><published>2011-04-14T23:59:00.000-07:00</published><updated>2011-04-14T23:59:14.125-07:00</updated><title type='text'>colorer vos invites de commandes</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;salut,&lt;br /&gt;&lt;br /&gt;malheureusement, dans le shell windows, on n'a pas de commandes native qui permet de colorer nos chaines de caractères, pour pallier à cette lacune on peux télécharger des commandes externes, ou bien pour les puristes on peux bricoler un tuc comme ceci:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;@echo off&lt;br /&gt;if "%~2"=="" (&lt;br /&gt;&amp;nbsp;&amp;nbsp; cls&lt;br /&gt;&amp;nbsp;&amp;nbsp; echo.&lt;br /&gt;&amp;nbsp;&amp;nbsp; echo&amp;nbsp;&amp;nbsp; .SYNTAXE:&lt;br /&gt;&amp;nbsp;&amp;nbsp; echo. &lt;br /&gt;&amp;nbsp;&amp;nbsp; echo&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; %~n0 BackgroundColor+ForegroundColor chaine&lt;br /&gt;&amp;nbsp;&amp;nbsp; echo.&lt;br /&gt;&amp;nbsp;&amp;nbsp; echo&amp;nbsp; ------------ EXEMPLE&amp;nbsp;1 --------------&lt;br /&gt;&amp;nbsp;&amp;nbsp; echo. &amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp; echo&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CMD E:\^&amp;gt; %~n0 0c "hello world"&lt;br /&gt;&amp;nbsp;&amp;nbsp; echo.&lt;br /&gt;&amp;nbsp;&amp;nbsp; echo&amp;nbsp; ------------ EXEMPLE&amp;nbsp;2 --------------&lt;br /&gt;&amp;nbsp;&amp;nbsp; echo.&lt;br /&gt;&amp;nbsp;&amp;nbsp; echo&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CMD E:\^&amp;gt; type script.cmd&lt;br /&gt;&amp;nbsp;&amp;nbsp; echo&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; @echo off&lt;br /&gt;&amp;nbsp;&amp;nbsp; echo&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; call cecho ce "Debut"&lt;br /&gt;&amp;nbsp;&amp;nbsp; echo&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; echo processus&lt;br /&gt;&amp;nbsp;&amp;nbsp; echo&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; call cecho ec "Fin"&lt;br /&gt;&amp;nbsp;&amp;nbsp; exit /b 3&lt;br /&gt;)&lt;br /&gt;mkdir $temp || (exit /b 2)&lt;br /&gt;pushd $temp || (rmdir $temp &amp;amp; exit /b 1)&lt;br /&gt;for /f "delims=" %%. in ('&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; "%ComsPec% /k prompt $h$h &amp;lt;&amp;amp;1"&lt;br /&gt;&amp;nbsp;') do &amp;gt;rtn echo %%.&lt;br /&gt;Call:bfc %1 %2&lt;br /&gt;popd&lt;br /&gt;rmdir /s /q $temp&lt;br /&gt;exit /b 0&lt;br /&gt;&lt;br /&gt;:bfc&lt;br /&gt;&amp;gt;%2 (set/P=+) &amp;lt;&amp;amp;1&lt;br /&gt;findstr /a:%1 + %2 con&lt;br /&gt;type rtn&lt;br /&gt;goto :eof&lt;/pre&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1009349071490622559-4863798408681418962?l=walid-toumi.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://walid-toumi.blogspot.com/feeds/4863798408681418962/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1009349071490622559&amp;postID=4863798408681418962' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1009349071490622559/posts/default/4863798408681418962'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1009349071490622559/posts/default/4863798408681418962'/><link rel='alternate' type='text/html' href='http://walid-toumi.blogspot.com/2011/04/colorer-vos-invites-de-commandes.html' title='colorer vos invites de commandes'/><author><name>Walid Toumi</name><uri>http://www.blogger.com/profile/09418417804225451151</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://3.bp.blogspot.com/_NOtXvy-KlZo/TEO9TZuU2rI/AAAAAAAAAAw/J51RJrp1vHE/S220/99.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1009349071490622559.post-7080785978470210458</id><published>2011-04-14T23:52:00.000-07:00</published><updated>2011-04-15T00:10:16.395-07:00</updated><title type='text'>supprimer les dossiers vides</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;salut,&lt;br /&gt;&lt;br /&gt;voici un petit filtre en PS pour supprimer les dossiers vides &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;Filter Remove-EmptyFolder&lt;br /&gt;{&lt;br /&gt;&amp;nbsp; try{&lt;br /&gt;&amp;nbsp;&amp;nbsp; [IO.DirectoryInfo]$Folder=$_&lt;br /&gt;&amp;nbsp;&amp;nbsp; if($Folder.GetFiles().count -eq 0) {$Folder.Delete()}&lt;br /&gt;&amp;nbsp; }&lt;br /&gt;&amp;nbsp; catch{}&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;PS&amp;gt; gci -Recurse | Remove-EmptyFolder&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1009349071490622559-7080785978470210458?l=walid-toumi.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://walid-toumi.blogspot.com/feeds/7080785978470210458/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1009349071490622559&amp;postID=7080785978470210458' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1009349071490622559/posts/default/7080785978470210458'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1009349071490622559/posts/default/7080785978470210458'/><link rel='alternate' type='text/html' href='http://walid-toumi.blogspot.com/2011/04/supprimer-les-dossiers-vides.html' title='supprimer les dossiers vides'/><author><name>Walid Toumi</name><uri>http://www.blogger.com/profile/09418417804225451151</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://3.bp.blogspot.com/_NOtXvy-KlZo/TEO9TZuU2rI/AAAAAAAAAAw/J51RJrp1vHE/S220/99.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1009349071490622559.post-4992571259923594844</id><published>2011-03-04T11:20:00.000-08:00</published><updated>2011-03-04T11:26:12.377-08:00</updated><title type='text'>Call+chemin avec le caractère %</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;appeler un bat se trouvant dans un dossier &lt;b&gt;&lt;span style="color: red;"&gt;%&lt;/span&gt;dossier&lt;span style="color: red;"&gt;%&lt;/span&gt;&lt;/b&gt; est embêtant, et peux facilement être tragique si notre &lt;b&gt;%dossier%&lt;/b&gt; était une variable valuée...pour contournée ce problème on peux faire ceci:&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;echo=|call %%dossier%%\srep\fichier.bat&lt;br /&gt;:: ou bien&lt;br /&gt;Cmd /c %%dossier%%\srep\fichier.bat&lt;br /&gt;:: ou bien&lt;br /&gt;cd /d "%%dossier%%\srep"&lt;br /&gt;fichier.bat&lt;br /&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1009349071490622559-4992571259923594844?l=walid-toumi.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://walid-toumi.blogspot.com/feeds/4992571259923594844/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1009349071490622559&amp;postID=4992571259923594844' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1009349071490622559/posts/default/4992571259923594844'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1009349071490622559/posts/default/4992571259923594844'/><link rel='alternate' type='text/html' href='http://walid-toumi.blogspot.com/2011/03/appel-dun-bat.html' title='Call+chemin avec le caractère %'/><author><name>Walid Toumi</name><uri>http://www.blogger.com/profile/09418417804225451151</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://3.bp.blogspot.com/_NOtXvy-KlZo/TEO9TZuU2rI/AAAAAAAAAAw/J51RJrp1vHE/S220/99.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1009349071490622559.post-3774785561805610765</id><published>2011-03-04T11:12:00.000-08:00</published><updated>2011-03-04T11:12:33.409-08:00</updated><title type='text'>Fibonacci en batch</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;ce beau vieux &lt;b&gt;Fibonacci&lt;/b&gt; est desormais devenu une star...&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;@Echo oFF&lt;br /&gt;Setlocal EnableDelayedExpansion&lt;br /&gt;&lt;br /&gt;Set cnt=20&lt;br /&gt;Set /A a=1,b=a&lt;br /&gt;Echo !a!&amp;amp;for /l %%# in (1=1=!cnt!) do (&lt;br /&gt;&amp;nbsp; set /A c=a+b,a=b,b=c&lt;br /&gt;&amp;nbsp; Echo=!c!&lt;br /&gt;)&lt;br /&gt;Pause&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1009349071490622559-3774785561805610765?l=walid-toumi.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://walid-toumi.blogspot.com/feeds/3774785561805610765/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1009349071490622559&amp;postID=3774785561805610765' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1009349071490622559/posts/default/3774785561805610765'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1009349071490622559/posts/default/3774785561805610765'/><link rel='alternate' type='text/html' href='http://walid-toumi.blogspot.com/2011/03/fibonacci-en-batch.html' title='Fibonacci en batch'/><author><name>Walid Toumi</name><uri>http://www.blogger.com/profile/09418417804225451151</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://3.bp.blogspot.com/_NOtXvy-KlZo/TEO9TZuU2rI/AAAAAAAAAAw/J51RJrp1vHE/S220/99.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1009349071490622559.post-2161229711045072767</id><published>2011-03-04T10:32:00.000-08:00</published><updated>2011-03-04T11:33:58.729-08:00</updated><title type='text'>émulation de la commande externe attrib.exe</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;b&gt;Set-Attrib&lt;/b&gt; est une fonction qui associe à la fois la simplicité du codage en PS et la puissance de celui-ci:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;pre class="alt2" dir="ltr" style="border: 1px inset; height: 258px; margin: 0px; overflow: auto; padding: 6px; text-align: left; width: 640px;"&gt;Function Set-Attrib&lt;br /&gt;{&lt;br /&gt;  param(&lt;br /&gt;   [string]$Path=".",&lt;br /&gt;   [string]$Filter="*",&lt;br /&gt;   [switch]$ReadOnly,&lt;br /&gt;   [switch]$System,&lt;br /&gt;   [switch]$Normal,&lt;br /&gt;   [switch]$Hidden,&lt;br /&gt;   [switch]$Archive,&lt;br /&gt;   [switch]$Recurse&lt;br /&gt;  )&lt;br /&gt;  $attr=@()&lt;br /&gt;  Switch($true)&lt;br /&gt;   {&lt;br /&gt;     $ReadOnly { $attr+='ReadOnly'}&lt;br /&gt;     $Archive  { $attr+='Archive' }&lt;br /&gt;     $Hidden   { $attr+='Hidden'  }&lt;br /&gt;     $System   { $attr+='System'  }&lt;br /&gt;     $Normal   { $attr+='Normal'  }&lt;br /&gt;   }      &lt;br /&gt; gci -Path $Path -Fi $Filter -Recurse:$Recurse -Fo | `&lt;br /&gt;   Where { -not $_.PSIsContainer } | `&lt;br /&gt;     ForEach {&lt;br /&gt;       $_.PsBase.Attributes=[System.IO.FileAttributes]$attr&lt;br /&gt;     }&lt;br /&gt; &amp;lt;#&lt;br /&gt;   .SYNOPSIS&lt;br /&gt;       Modifie les attributs des fichiers&lt;br /&gt;   .DESCRIPTION&lt;br /&gt;     Modifie les attributs des fichiers, les attributs supportés sont:&lt;br /&gt;       -ReadOnly: fichier en Lecture seul&lt;br /&gt;       -System  : fichier système&lt;br /&gt;       -Hidden  : fichier caché&lt;br /&gt;       -Archive : fichier archivé&lt;br /&gt;   .PARAMETER Path&lt;br /&gt;     Chemin du répertoire source&lt;br /&gt;   .PARAMETER Filter&lt;br /&gt;     Filtre sur les fichiers à traiter ou bien un nom d'un fichier  &lt;br /&gt;   .PARAMETER Recurse&lt;br /&gt;     recherche recursive  &lt;br /&gt;   .EXAMPLE &lt;br /&gt;     PS C:\&amp;gt; Set-Attrib -Path c: -Filter boot.ini -Normal&lt;br /&gt;     hôtter du fichier c:\boot.ini les attributs "Sytème" et "Caché"&lt;br /&gt;   .EXAMPLE&lt;br /&gt;     PS C:\&amp;gt; Set-Attrib -Filter *.inf -Recurse -ReadOnly -System&lt;br /&gt;     Modifie tous les attributs des fichiers *.iNF du répértoire courant et tous ses sous répértoie en fichiers "En lecture seul" et "Système"&lt;br /&gt;   .EXAMPLE&lt;br /&gt;     PS C:\&amp;gt; Set-Attrib -Hidden&lt;br /&gt;     Caché tous les fichiers du répertoire en cours    &lt;br /&gt; #&amp;gt;    &lt;br /&gt;}&lt;/pre&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1009349071490622559-2161229711045072767?l=walid-toumi.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://walid-toumi.blogspot.com/feeds/2161229711045072767/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1009349071490622559&amp;postID=2161229711045072767' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1009349071490622559/posts/default/2161229711045072767'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1009349071490622559/posts/default/2161229711045072767'/><link rel='alternate' type='text/html' href='http://walid-toumi.blogspot.com/2011/03/emulation-de-la-commande-externe.html' title='émulation de la commande externe attrib.exe'/><author><name>Walid Toumi</name><uri>http://www.blogger.com/profile/09418417804225451151</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://3.bp.blogspot.com/_NOtXvy-KlZo/TEO9TZuU2rI/AAAAAAAAAAw/J51RJrp1vHE/S220/99.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1009349071490622559.post-6487013415923245399</id><published>2010-08-28T07:58:00.000-07:00</published><updated>2011-03-04T10:45:38.340-08:00</updated><title type='text'>[POWERSHELL]  provider en alias</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;pour mettre le provider variable: comme alias on passera par une fonction comme ceci&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&amp;nbsp; PS&amp;gt; function global:variable: {"test"}&lt;br /&gt;&amp;nbsp; PS&amp;gt; set-alias variable: global:variable:&lt;br /&gt;&amp;nbsp; PS&amp;gt; variable:&lt;br /&gt;&lt;b&gt;test &lt;/b&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1009349071490622559-6487013415923245399?l=walid-toumi.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://walid-toumi.blogspot.com/feeds/6487013415923245399/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1009349071490622559&amp;postID=6487013415923245399' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1009349071490622559/posts/default/6487013415923245399'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1009349071490622559/posts/default/6487013415923245399'/><link rel='alternate' type='text/html' href='http://walid-toumi.blogspot.com/2010/08/powershell-provider-en-alias.html' title='[POWERSHELL]  provider en alias'/><author><name>Walid Toumi</name><uri>http://www.blogger.com/profile/09418417804225451151</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://3.bp.blogspot.com/_NOtXvy-KlZo/TEO9TZuU2rI/AAAAAAAAAAw/J51RJrp1vHE/S220/99.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1009349071490622559.post-4550892098728336951</id><published>2010-08-28T02:21:00.000-07:00</published><updated>2011-03-04T10:56:08.496-08:00</updated><title type='text'>Tri numérique</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;Pour trier des données on a la commande SORT.EXE mais malheureusement elle n'effectue que le trie alphabétique:&lt;br /&gt;Salut,&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Pour trier des données on a la commande SORT.EXE mais malheureusement elle n'effectue que le trie alphabétique:&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;c:\&amp;gt; type fichier1.txt&lt;br /&gt;&lt;br /&gt;1 marcoc&lt;br /&gt;2 libye&lt;br /&gt;3 palestine&lt;br /&gt;4 france&lt;br /&gt;&lt;br /&gt;c:\&amp;gt; sort /r /+2 fichier1.txt /o trier.txt&lt;br /&gt;c:\&amp;gt; type trier.txt&lt;br /&gt;&lt;br /&gt;3 palestine&lt;br /&gt;1 maroc&lt;br /&gt;2 libye&lt;br /&gt;4 france&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;un autre exemple:&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;c:\&amp;gt; type fichier2.txt&lt;br /&gt;&lt;br /&gt;5&lt;br /&gt;3&lt;br /&gt;6&lt;br /&gt;1&lt;br /&gt;&lt;br /&gt;c:\&amp;gt; sort fichier2.txt&lt;br /&gt;&lt;br /&gt;1&lt;br /&gt;3&lt;br /&gt;5&lt;br /&gt;6&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;jusqu'ici tout marche à la perfection, voyons maintenant cette exemple:&lt;br /&gt;&lt;pre&gt;c:\&amp;gt; type fichier3.txt&lt;br /&gt;&lt;br /&gt;65&lt;br /&gt;1&lt;br /&gt;26894&lt;br /&gt;1125&lt;br /&gt;369&lt;br /&gt;&lt;br /&gt;c:\&amp;gt; sort fichier3.txt&lt;br /&gt;&lt;br /&gt;1&lt;br /&gt;1125&lt;br /&gt;26894&lt;br /&gt;369&lt;br /&gt;65&lt;/pre&gt;&lt;br /&gt;comme vous voyez la commande SORT.EXE ne connait pas le trie numérique.&lt;br /&gt;&lt;br /&gt;pour contourner ce problème, on peux utiliser la commande externe "gnu sort" avec l'option "-n"&lt;br /&gt;&lt;pre&gt;c:\&amp;gt; gnusort -n fichier3.txt&lt;br /&gt;&lt;br /&gt;1&lt;br /&gt;65&lt;br /&gt;369&lt;br /&gt;1125&lt;br /&gt;26894&lt;/pre&gt;&lt;br /&gt;une autre solution est de faire un script émulant la commande "gnusort -n".&lt;br /&gt;&lt;br /&gt;Donc l'une des solution possible est de fixer la longueur des chaine de caractères pour qu'il aillent la même longueur, pour se faire on va ajouter des zero "0" à gauche de chaque chaine:&lt;br /&gt;&lt;pre&gt;00000001&lt;br /&gt;00001125&lt;br /&gt;00026894&lt;br /&gt;00000369&lt;br /&gt;00000065&lt;/pre&gt;&lt;br /&gt;ensuite on va les passer à la commande SORT.EXE&lt;br /&gt;&lt;br /&gt;c:\&amp;gt; Sort fichier4.txt&lt;br /&gt;&lt;pre&gt;00000001&lt;br /&gt;00000065&lt;br /&gt;00000369&lt;br /&gt;00001125&lt;br /&gt;00026894&lt;/pre&gt;&lt;br /&gt;le trie est effectuer avec succès il nous ne reste plus qu'a enlever les zeros "0" de plus.&lt;br /&gt;&lt;pre&gt;1&lt;br /&gt;65&lt;br /&gt;369&lt;br /&gt;1125&lt;br /&gt;26894&lt;/pre&gt;&lt;br /&gt;et voilà voyons notre script de quoi aura l'air:&lt;br /&gt;&lt;pre&gt;@Echo oFF&lt;br /&gt;Setlocal EnableExtensions&lt;br /&gt;&lt;br /&gt;Set liste=1 1125 26894 369 65 396&lt;br /&gt;&lt;br /&gt;For %%i in (%liste%) Do &amp;gt;&amp;gt;~@ Call :S %%i&lt;br /&gt;For /F "Tokens=*" %%c in ('Sort ~@') do Call:P set "c=%%c"&lt;br /&gt;del ~@&lt;br /&gt;pause&lt;br /&gt;Endlocal &amp;amp; goto :EOF&lt;br /&gt;&lt;br /&gt;:S&lt;br /&gt;Set "tz=00000000%1"&lt;br /&gt;Echo:%tz:~-8%&lt;br /&gt;goto :EOF&lt;br /&gt;&lt;br /&gt;:P&lt;br /&gt;%*&lt;br /&gt;:z&lt;br /&gt;if (%c:~0,1%)==(0) set "c=%c:~1%" &amp;amp; goto:z&lt;br /&gt;echo=%c% &lt;br /&gt;goto:EOF&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;comme vous voyez c'est le bordel !! On essayera alors une autre solution,...que dites-vous de &lt;br /&gt;comparer les nombres, nombre par nombre en décalant chaque chiffre de gauche à droite, le plus grand nombre sera décalé à droite et le plus petit à gauche ? un SORT à bulle...quoi..&lt;br /&gt;&lt;pre&gt;@Echo oFF&lt;br /&gt;&lt;br /&gt;Call :Sort 1256 280 3 10 2 98 259 563 8&lt;br /&gt;pause&lt;br /&gt;goto :EOF&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;:Sort&lt;br /&gt;Setlocal EnableDelayedExpansion&lt;br /&gt;Set/A n=1,s=0,c=s,r=s&lt;br /&gt;for %%: In (%*) do (&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Set /a c+=1&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Set "nm.!c!=%%:")&lt;br /&gt;:LP.1&lt;br /&gt;if %s% EQU %c% Set/A n+=1,s=0&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Set/A s+=1&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Call :SPL %n% %s%&lt;br /&gt;If %n% LEQ %c% goto :LP.1&lt;br /&gt;:LP.2&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Echo:!nm.%c%!&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Set/A c-=1&lt;br /&gt;If %c% GTR 0 goto :LP.2 &lt;br /&gt;Endlocal &amp;amp; goto :EOF&lt;br /&gt;:SPL&lt;br /&gt;&amp;nbsp;If !nm.%1! GTR !nm.%2! (&lt;br /&gt;&amp;nbsp;&amp;nbsp; Set "t=!nm.%2!"&amp;amp;Set "nm.%2=!nm.%1!"&lt;br /&gt;&amp;nbsp;&amp;nbsp; Set "nm.%1=!t!"&lt;br /&gt;&amp;nbsp;) &lt;br /&gt;goto :EOF&lt;/pre&gt;&lt;br /&gt;c'est plus simple..non.. :)&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1009349071490622559-4550892098728336951?l=walid-toumi.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://walid-toumi.blogspot.com/feeds/4550892098728336951/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1009349071490622559&amp;postID=4550892098728336951' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1009349071490622559/posts/default/4550892098728336951'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1009349071490622559/posts/default/4550892098728336951'/><link rel='alternate' type='text/html' href='http://walid-toumi.blogspot.com/2010/08/tri-numerique.html' title='Tri numérique'/><author><name>Walid Toumi</name><uri>http://www.blogger.com/profile/09418417804225451151</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://3.bp.blogspot.com/_NOtXvy-KlZo/TEO9TZuU2rI/AAAAAAAAAAw/J51RJrp1vHE/S220/99.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1009349071490622559.post-3797370970603592182</id><published>2010-07-18T19:20:00.000-07:00</published><updated>2011-03-04T11:03:20.182-08:00</updated><title type='text'>fonctions utiles</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;voici quelques fonctions utiles&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;u&gt;&lt;span style="font-family: Georgia,&amp;quot;Times New Roman&amp;quot;,serif;"&gt;1/ extraire d'une chaîne de caractères uniquement les lettres /ou les nombres:&lt;/span&gt;&lt;/u&gt;&lt;/b&gt;&lt;br /&gt;&lt;pre&gt;@Echo oFF&lt;br /&gt;Setlocal EnableExtensions&lt;br /&gt;&lt;br /&gt;Call :Xtract 65446gjkngd5343dflgd&lt;br /&gt;set substr &lt;br /&gt;Endlocal &amp;amp; goto :eof&lt;br /&gt;:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::&lt;br /&gt;:Xtract&amp;nbsp; %1=chaîne de caractères&amp;nbsp; %2=paramètre optionnel [$str]&lt;br /&gt;::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::&lt;br /&gt;Setlocal enableExtensions&lt;br /&gt;If [%2]==[$str] Set "v1=-v" &amp;amp; set "v2=^"&lt;br /&gt;Set is=%~1&lt;br /&gt;For /F "Tokens=2 Delims=:" %%# In ('&lt;br /&gt;&amp;nbsp; "%Comspec% /u /cEcho:%is%|More|FindStr -o .|FindStr %v1% ".*:[%v2%0-9]"&lt;br /&gt;&amp;nbsp;') do Call Set substr=%%substr%%%%#&lt;br /&gt;Endlocal &amp;amp; Set "substr=%substr%" &amp;amp; goto :eof&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;voici quelques exemples:&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;Call :xtract "45ds8f9558fr5r585f854447r"&amp;nbsp; &lt;br /&gt;echo %substr%&lt;br /&gt;&lt;br /&gt;c:\&amp;gt; tst.bat&lt;br /&gt;&lt;br /&gt;45895585585854447&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Call :xtract "45ds8f9558fr5r585f854447r"&amp;nbsp; $str&lt;br /&gt;echo %substr%&lt;br /&gt;&lt;br /&gt;c:\&amp;gt; tst.bat&lt;br /&gt;&lt;br /&gt;dsffrrfr &lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;u&gt;&lt;span style="font-family: Georgia,&amp;quot;Times New Roman&amp;quot;,serif;"&gt;2/ afficher les propriétés avancées d'un fichier:&lt;/span&gt;&lt;/u&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;:AdvancedProp&lt;br /&gt;Setlocal EnableExtensions&lt;br /&gt;If Not Exist "%~f1" Exit /B 2&lt;br /&gt;For %%x In (&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; "0:$Nom","1:$Taille","2:$Type","3:$Date.Modif"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; "4:$Date.Create","5:$Date.Access","6:$Attribut"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; "7:$Etat","8:$Proprietaire","9:$Auteur"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; "10:$Titre","11:$objet","12:$Categorie"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; "14:$Commentaire","15:$Copyright","16:$Artist"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; "17:$Titre.Album","18:$Annee","19:$Numero.Piste"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; "20:$Genre","21:$Duree","23:$Protege"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; "26:$Dimension","34:$Chaines","35:$Entreprise"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; "36:$Description","37:$Version.Fichier"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; "38:$Nom.Produit","39:$Version.Produit"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; "40:$Mots.Clefs" &lt;br /&gt;) Do For /F "Tokens=1* Delims=:" %%s In (%%x) Do (&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;gt;$ Call :$Prop "%~1" %%s %%t &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; set "%%t="&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for /f "tokens=* delims=" %%a in ('&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "cscript -nologo -e:vbs $ &amp;amp; del $"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ') Do %%a&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if defined %%t Set %%t&lt;br /&gt;)&lt;br /&gt;Endlocal &amp;amp; goto :EOF&lt;br /&gt;:$Prop&lt;br /&gt;echo Set o=createObject("shell.application").^&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; namespace("%~dp1")&lt;br /&gt;echo wsh.echo "set %3="^&amp;amp;o.^&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; getdetailsof(o.parsename("%~nx1"),%2)&lt;br /&gt;Exit /B 0&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Call :AdvancedProp "%windir%\explorer.exe"&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;u&gt;&lt;span style="font-family: Georgia,&amp;quot;Times New Roman&amp;quot;,serif;"&gt;3/ Lire un fichier à l'envers:&lt;/span&gt;&lt;/u&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;:fileRev&lt;br /&gt;for /f "tokens=1* delims=][" %%s in ('&lt;br /&gt;&lt;br /&gt;find /n /v "" ^&amp;lt; %1') do (&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Set "tab[%%s]=%%t"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if not defined tab[%%s] set tab[%%s]=µµµ&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Set nline=%%s&lt;br /&gt;)&lt;br /&gt;for /l %%i in (%nline% -1 1) Do (&lt;br /&gt;&amp;nbsp; for /f "tokens=1* delims=µ=" %%_ in ('&lt;br /&gt;&lt;br /&gt;set tab[%%i]&lt;br /&gt;&lt;br /&gt;') do echo=%%_&lt;br /&gt;)&lt;br /&gt;goto:eof&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Call :fileRev "mon fichier de test.txt" &lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;u&gt;&lt;span style="font-family: Georgia,&amp;quot;Times New Roman&amp;quot;,serif;"&gt;4/ Convertir une chaîne de caractères en majuscule:&lt;/span&gt;&lt;/u&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;:ucase&lt;br /&gt;for /f "tokens=1* delims=µ" %%a in ('&lt;br /&gt;&amp;nbsp; "tree \µµµ%1|find ":\""&lt;br /&gt;&amp;nbsp; ') do set "ucase=%%b"&lt;br /&gt;goto:eof&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&lt;br /&gt;Call :ucase "tunisia"&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;u&gt;&lt;span style="font-family: Georgia,&amp;quot;Times New Roman&amp;quot;,serif;"&gt;5/ Inverse une chaîne de caractère:&lt;/span&gt;&lt;/u&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;:reverse&lt;br /&gt;for /f "tokens=1* delims=:" %%a in ('&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; "%comspec% /u /c echo:%~1|more|findstr /o ."&lt;br /&gt;&amp;nbsp;') do set "reverse=%%b!reverse!"&lt;br /&gt;goto:eof&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;Call :reverse "vive palestine" &lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;u&gt;&lt;span style="font-family: Georgia,&amp;quot;Times New Roman&amp;quot;,serif;"&gt;6/ a* Convertir un nombre décimal en hexa&lt;/span&gt;&lt;/u&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;:tohexa&lt;br /&gt;Setlocal enableextensions&lt;br /&gt;set hx=0x0&lt;br /&gt;Set exp=%comspec% /cexit/b %1^&amp;amp;set;^|find "^=ExitCode^="&lt;br /&gt;for /f "tokens=1* delims=0=" %%a in ('&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "%exp%" % expression evalue %&lt;br /&gt;') do Set hx=0x%%b&lt;br /&gt;Endlocal &amp;amp; Set "hex=%hx%" &amp;amp; goto :eof&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;set hex=98&lt;br /&gt;&amp;nbsp;set hex&lt;br /&gt;&amp;nbsp;Call :tohexa %hex% &amp;amp;&amp;amp; Set hex&amp;nbsp;&amp;nbsp; &lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;u&gt;&lt;span style="font-family: Georgia,&amp;quot;Times New Roman&amp;quot;,serif;"&gt;6/ b* Convertir un nombre décimal en hexa:&lt;/span&gt;&lt;/u&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;:tohexa&lt;br /&gt;for /f "tokens=1,3" %%i in ('^(&lt;br /&gt;&amp;nbsp;reg add hkcu\console /v hexa /t reg_dword /d %1 /f ^&amp;amp;&lt;br /&gt;&amp;nbsp;reg query hkcu\console /v hexa&amp;nbsp; ^&amp;amp;&lt;br /&gt;&amp;nbsp;reg delete hkcu\console /v hexa /f&lt;br /&gt;&amp;nbsp;^)^|find "REG_DWORD"') do Set %%i=%%j&lt;br /&gt;goto:eof&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&lt;br /&gt;set hexa=685&lt;br /&gt;&lt;br /&gt;set hexa &amp;amp; Call :tohexa %hexa% &amp;amp; set hexa&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;u&gt;&lt;span style="font-family: Georgia,&amp;quot;Times New Roman&amp;quot;,serif;"&gt;7/ Compter le nombre de répétition d'une lettre:&lt;/span&gt;&lt;/u&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;:CountChar&lt;br /&gt;for /f %%: in ('&lt;br /&gt;&amp;nbsp; "%comspec% /u /c echo:%~1|more|sort"&lt;br /&gt;&amp;nbsp;') do Set /A "$[%%:]+=1"&lt;br /&gt;goto:eof&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Call :CountChar "tunisia and africa"&lt;br /&gt;Set $[&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;u&gt;&lt;span style="font-family: Georgia,&amp;quot;Times New Roman&amp;quot;,serif;"&gt;8/ Supprimer les espaces de plus en debut/fin d'un string:&lt;/span&gt;&lt;/u&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;@echo off &lt;br /&gt;(set Ch=&amp;nbsp;&amp;nbsp;&amp;nbsp; ceci&amp;nbsp;&amp;nbsp;&amp;nbsp; est un simple test&amp;nbsp;&amp;nbsp; )&lt;br /&gt;::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::&lt;br /&gt;set path=%path%;D:\Program Files\GnuWin32\bin&lt;br /&gt;set e="s_^\s*__;s_\s*$__;s_^_del %%0\&amp;amp;set %%1=&amp;amp;_w ~.Cmd"&lt;br /&gt;echo [%Ch%]&lt;br /&gt;echo\%Ch%|1&amp;gt;&amp;amp;0 sed %e%&lt;br /&gt;2&amp;gt;Nul=(call ~.Cmd ch)&lt;br /&gt;echo [%Ch%]&amp;amp;goto:EOF :::::GnuSED Version 4.2::::::::::::::::&lt;/pre&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1009349071490622559-3797370970603592182?l=walid-toumi.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://walid-toumi.blogspot.com/feeds/3797370970603592182/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1009349071490622559&amp;postID=3797370970603592182' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1009349071490622559/posts/default/3797370970603592182'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1009349071490622559/posts/default/3797370970603592182'/><link rel='alternate' type='text/html' href='http://walid-toumi.blogspot.com/2010/07/functions-utiles.html' title='fonctions utiles'/><author><name>Walid Toumi</name><uri>http://www.blogger.com/profile/09418417804225451151</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://3.bp.blogspot.com/_NOtXvy-KlZo/TEO9TZuU2rI/AAAAAAAAAAw/J51RJrp1vHE/S220/99.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1009349071490622559.post-4695411498148054119</id><published>2010-06-19T08:01:00.000-07:00</published><updated>2011-03-04T11:09:41.766-08:00</updated><title type='text'>Compter le nombre de caractères</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;u style="font-family: Georgia,&amp;quot;Times New Roman&amp;quot;,serif;"&gt;&lt;b&gt;VBS-LIKE&lt;/b&gt;&lt;/u&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;@echo off&lt;br /&gt;call:LCount %*&lt;br /&gt;echo %length%&lt;br /&gt;goto:EOF&lt;br /&gt;:LCount&lt;br /&gt;echo/wsh.echo "set length="^&amp;amp;Len("%*")&amp;gt;..vbs&lt;br /&gt;cscript/nologo ..vbs&amp;gt;..bat&lt;br /&gt;for %%. in (call del) do %%. ..bat ..vbs&lt;br /&gt;goto:EOF &lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;u&gt;&lt;b&gt;&lt;span style="font-family: Georgia,&amp;quot;Times New Roman&amp;quot;,serif;"&gt;VBS-LIKE&lt;/span&gt;&lt;/b&gt;&lt;/u&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;@echo off&lt;br /&gt;echo\Input=Inputbox("String:","Input")&amp;gt;..vbs&lt;br /&gt;echo\wsh.echo "set length="^&amp;amp;Len(Input)&amp;gt;&amp;gt;..vbs&lt;br /&gt;cscript/nologo ..vbs&amp;gt;..bat&lt;br /&gt;for %%. in (call del) do %%. ..bat ..vbs&lt;br /&gt;echo\%length%&lt;br /&gt;pause &lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;u&gt;&lt;span style="font-family: Georgia,&amp;quot;Times New Roman&amp;quot;,serif;"&gt;VBS-LIKE&lt;/span&gt;&lt;/u&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;@echo off&lt;br /&gt;set str=%*&lt;br /&gt;echo&amp;gt;len.vbs c=len(wsh.arguments.item(0)):wsh.echo c&lt;br /&gt;for /f&amp;nbsp; %%i in ('cscript/nologo len.vbs "%str%"') do set len=%%i&lt;br /&gt;echo LENGTH=%len%&lt;br /&gt;del len.vbs&lt;br /&gt;goto:EOF &lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;u&gt;&lt;span style="font-family: Georgia,&amp;quot;Times New Roman&amp;quot;,serif;"&gt;NATIVE&lt;/span&gt;&lt;/u&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;Set Str=hello&lt;br /&gt;for /f "tokens=1* delims=[]" %%a in ('&lt;br /&gt;&amp;nbsp; "%comspec% /u /c echo:%Str%|more|find /n /v """&lt;br /&gt;&amp;nbsp;') do set /a "length=%%a-4"&lt;br /&gt;goto:eof&lt;/pre&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1009349071490622559-4695411498148054119?l=walid-toumi.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://walid-toumi.blogspot.com/feeds/4695411498148054119/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1009349071490622559&amp;postID=4695411498148054119' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1009349071490622559/posts/default/4695411498148054119'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1009349071490622559/posts/default/4695411498148054119'/><link rel='alternate' type='text/html' href='http://walid-toumi.blogspot.com/2010/06/utilisation-de-vbs.html' title='Compter le nombre de caractères'/><author><name>Walid Toumi</name><uri>http://www.blogger.com/profile/09418417804225451151</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://3.bp.blogspot.com/_NOtXvy-KlZo/TEO9TZuU2rI/AAAAAAAAAAw/J51RJrp1vHE/S220/99.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1009349071490622559.post-6570597583672860331</id><published>2010-06-19T03:07:00.000-07:00</published><updated>2011-03-04T11:29:31.706-08:00</updated><title type='text'>Remplacement de chaine de caractères</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;voici quelques méthodes, parmis d'autres, pour remplacer une chaîne de caractères par une autre, avec un fichier batch&lt;br /&gt;&lt;br /&gt;&lt;u&gt;&lt;b&gt;&lt;span style="font-family: Georgia,&amp;quot;Times New Roman&amp;quot;,serif;"&gt;1-Utilisation de l'utilitaire Edlin&lt;/span&gt;&lt;/b&gt;&lt;/u&gt;&lt;br /&gt;&lt;pre&gt;@echo off&lt;br /&gt;REM batfile infile "search" "rep"&lt;br /&gt;REM EXEMPLE: batfile test.txt a A&lt;br /&gt;REM ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;set/p="1r%~2"-&lt;br /&gt;copy /a -+nul&amp;gt;nul&lt;br /&gt;set/p="%~3"--&lt;br /&gt;copy /b -+-- ---&amp;gt;nul&lt;br /&gt;echo.&amp;gt;&amp;gt;---&lt;br /&gt;echo&amp;gt;&amp;gt;--- w&lt;br /&gt;echo&amp;gt;&amp;gt;--- 900a&lt;br /&gt;echo&amp;gt;&amp;gt;--- e&lt;br /&gt;type --- |&amp;gt;nul edlin /b %1&lt;br /&gt;del - -- ---&lt;br /&gt;goto:EOF&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;u&gt;&lt;b&gt;&lt;span style="font-family: Georgia,&amp;quot;Times New Roman&amp;quot;,serif;"&gt;2- VBS-LIKE&lt;/span&gt;&lt;/b&gt;&lt;/u&gt;&lt;br /&gt;&lt;pre&gt;@echo off&lt;br /&gt;set file=a.txt&lt;br /&gt;set oldstr=u&lt;br /&gt;set newstr=#MAJ#&lt;br /&gt;&lt;br /&gt;For %%A in (&lt;br /&gt;&amp;nbsp; "do until Wsh.stdin.atendofstream&amp;nbsp;&amp;nbsp;&amp;nbsp; " &lt;br /&gt;&amp;nbsp; "&amp;nbsp; o="%oldstr%" :&amp;nbsp; n="%newstr%"&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "&lt;br /&gt;&amp;nbsp; "&amp;nbsp; ch=replace(wsh.stdin.readline,o,n)"&lt;br /&gt;&amp;nbsp; "&amp;nbsp; Wsh.echo ch&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "&lt;br /&gt;&amp;nbsp; "loop"&lt;br /&gt;) do &amp;gt;&amp;gt;__.vbs echo\%%~A &lt;br /&gt;type %file% |&amp;gt;' cscript /nologo __.vbs &amp;amp;&amp;amp; move ' %file%&lt;br /&gt;del __.vbs&lt;br /&gt;exit /b&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1009349071490622559-6570597583672860331?l=walid-toumi.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://walid-toumi.blogspot.com/feeds/6570597583672860331/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1009349071490622559&amp;postID=6570597583672860331' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1009349071490622559/posts/default/6570597583672860331'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1009349071490622559/posts/default/6570597583672860331'/><link rel='alternate' type='text/html' href='http://walid-toumi.blogspot.com/2010/06/remplacement-de-chaine-de-caracteres.html' title='Remplacement de chaine de caractères'/><author><name>Walid Toumi</name><uri>http://www.blogger.com/profile/09418417804225451151</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://3.bp.blogspot.com/_NOtXvy-KlZo/TEO9TZuU2rI/AAAAAAAAAAw/J51RJrp1vHE/S220/99.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1009349071490622559.post-8200110654512663474</id><published>2010-06-16T05:15:00.000-07:00</published><updated>2010-08-28T02:31:03.596-07:00</updated><title type='text'>naviguer dans la base de registre</title><content type='html'>salut,&lt;br /&gt;&lt;br /&gt;voici une astuce pour naviguer dans la base de registre assez facilement:&lt;br /&gt;l'astuce consiste à copier la clef du registre dans la mémoire pour ensuite l'exploiter grâce à un utilitaire &lt;b&gt;NIRCMD.EXE&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;object height="300" width="400"&gt;&lt;param name="allowfullscreen" value="true" /&gt;&lt;param name="allowscriptaccess" value="always" /&gt;&lt;param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=12421841&amp;amp;server=vimeo.com&amp;amp;show_title=1&amp;amp;show_byline=1&amp;amp;show_portrait=0&amp;amp;color=&amp;amp;fullscreen=1" /&gt;&lt;embed src="http://vimeo.com/moogaloop.swf?clip_id=12421841&amp;amp;server=vimeo.com&amp;amp;show_title=1&amp;amp;show_byline=1&amp;amp;show_portrait=0&amp;amp;color=&amp;amp;fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="400" height="300"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;a href="http://vimeo.com/12421841"&gt;raccourcis pour naviguer dans la base de registre&lt;/a&gt; from &lt;a href="http://vimeo.com/walid2mi"&gt;WALID&lt;/a&gt; on &lt;a href="http://vimeo.com/"&gt;Vimeo&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1009349071490622559-8200110654512663474?l=walid-toumi.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://walid-toumi.blogspot.com/feeds/8200110654512663474/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1009349071490622559&amp;postID=8200110654512663474' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1009349071490622559/posts/default/8200110654512663474'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1009349071490622559/posts/default/8200110654512663474'/><link rel='alternate' type='text/html' href='http://walid-toumi.blogspot.com/2010/06/salut-voici-une-astuce-pour-naviguer.html' title='naviguer dans la base de registre'/><author><name>Walid Toumi</name><uri>http://www.blogger.com/profile/09418417804225451151</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://3.bp.blogspot.com/_NOtXvy-KlZo/TEO9TZuU2rI/AAAAAAAAAAw/J51RJrp1vHE/S220/99.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1009349071490622559.post-2405412415154956987</id><published>2010-06-13T04:53:00.000-07:00</published><updated>2011-03-04T10:43:07.187-08:00</updated><title type='text'>.Bat  VS .Cmd</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;span style="font-family: courier new;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: verdana;"&gt;Les Fichiers de commandes MS-DOS connus sous le nom &lt;b&gt;.BAT&lt;/b&gt; diffèrent des Scripts de commandes Windows NT connus sous le nom &lt;b&gt;.CMD&lt;/b&gt;&lt;br /&gt;Cette différence, n'est si grande, elle se situe fondamentalement sur la portabilité des &lt;b&gt;.Bat&lt;/b&gt; au contraires des fichiers &lt;b&gt;.CMD&lt;/b&gt; et l'intérprétation des erreurs retournées par quelques commandes internes à l'intérpréteur.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&lt;pre&gt;&amp;nbsp; @echo off &lt;br /&gt;&amp;nbsp; set test=CMD&lt;br /&gt;&amp;nbsp; Call :sub 6&lt;br /&gt;&amp;nbsp; set test=BAT&lt;br /&gt;&amp;nbsp; If errorlevel 6 (echo &lt;b&gt;BAT&lt;/b&gt;) else (echo &lt;b&gt;CMD&lt;/b&gt;)&lt;br /&gt;&amp;nbsp; goto:eof&lt;br /&gt;&lt;br /&gt;&amp;nbsp; :sub&lt;br /&gt;&amp;nbsp; exit /b %1&lt;br /&gt;&amp;nbsp; goto :eof&lt;/pre&gt;&lt;/span&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;div style="color: #999999; text-align: justify;"&gt;&lt;ol&gt;&lt;/ol&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;span style="font-family: courier new;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1009349071490622559-2405412415154956987?l=walid-toumi.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://walid-toumi.blogspot.com/feeds/2405412415154956987/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1009349071490622559&amp;postID=2405412415154956987' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1009349071490622559/posts/default/2405412415154956987'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1009349071490622559/posts/default/2405412415154956987'/><link rel='alternate' type='text/html' href='http://walid-toumi.blogspot.com/2010/06/les-fichier-de-commande-ms-dos.html' title='.Bat  VS .Cmd'/><author><name>Walid Toumi</name><uri>http://www.blogger.com/profile/09418417804225451151</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://3.bp.blogspot.com/_NOtXvy-KlZo/TEO9TZuU2rI/AAAAAAAAAAw/J51RJrp1vHE/S220/99.JPG'/></author><thr:total>0</thr:total></entry></feed>
