Bienvenue à Blogs CodeS-SourceS Identification | Inscription | Aide

CoqBlog

.NET is good :-)
{ Blog de coq }

Actualités

PowerShell : script pour encoding de fichier sql sous forme de fonction filtre

Pour ceux qui utiliseraient le petit script que j'avais intégré la dernière fois à mon post "SQL Server : Outil osql : attention à l'encoding des fichiers de scripts SQL...", j'ai en fin de compte crée une fonction filtre, c'est plus pratique.

Les fonctions filtres sont utiles pour travailler avec le pipeline sans pour autant écrire une cmdlet.
Elles ont la forme suivante (seul le bloc PROCESS est obligatoire) :

function nom
{
    BEGIN
    {
        # CODE
        # Ce code sera executé au début du traitement, avant le premier appel au bloc PROCESS.
    }
    PROCESS
    {
        # CODE
        # Ce code sera executé pour chaque objet du pipeline.
    }
    END
    {
        # CODE
        # Ce code sera executé à la fin du traitement, après le dernier appel au bloc PROCESS.
    }
}

Dans notre cas, nous voulons executer le test sur le fichier courant, représenté par la variable $_, et nous écrivons sur le pipeline les objets ne correspondant pas au critères requis :

function Check-UTF16LEEncoding
{
    PROCESS
    {
        $reader=$_.OpenRead()
        if ( $reader.Length -lt 2 -or ( $reader.ReadByte() -ne 0xFF -or $reader.ReadByte() -ne 0xFE ) )
        {
            Write-Output $_
        }
        $reader.Close()
    }
}

A utiliser tel quel ou à ajouter à votre profil, si vous en faites un usage intensif.

 

C'est quand même plus sympa à utiliser :

PS C:\sql
PS> dir -filter *.sql -recurse | Check-UTF16LEEncoding

    Directory: Microsoft.PowerShell.Core\FileSystem::C:\sql\test

Mode                LastWriteTime     Length Name
----                -------------     ------ ----
-a---        02/08/2007     23:01         91 1252.sql
-a---        02/08/2007     23:01         91 850.sql
-a---        02/08/2007     22:16        184 UTF16BE.sql

 

PS C:\sql
PS> dir -filter *.sql -recurse | Check-UTF16LEEncoding | foreach { $_.FullName }
C:\sql\test\1252.sql
C:\sql\test\850.sql
C:\sql\test\UTF16BE.sql

Ce post vous a plu ? Ajoutez le dans vos favoris pour ne pas perdre de temps à le retrouver le jour où vous en aurez besoin :
Posted: vendredi 24 août 2007 20:32 par coq

Commentaires

Pas de commentaires

Les commentaires anonymes sont désactivés

Les 10 derniers blogs postés

- Merci par Blog de Jérémy Jeanson le 10-01-2019, 20:47

- Office 365: Script PowerShell pour auditer l’usage des Office Groups de votre tenant par Blog Technique de Romelard Fabrice le 04-26-2019, 11:02

- Office 365: Script PowerShell pour auditer l’usage de Microsoft Teams de votre tenant par Blog Technique de Romelard Fabrice le 04-26-2019, 10:39

- Office 365: Script PowerShell pour auditer l’usage de OneDrive for Business de votre tenant par Blog Technique de Romelard Fabrice le 04-25-2019, 15:13

- Office 365: Script PowerShell pour auditer l’usage de SharePoint Online de votre tenant par Blog Technique de Romelard Fabrice le 02-27-2019, 13:39

- Office 365: Script PowerShell pour auditer l’usage d’Exchange Online de votre tenant par Blog Technique de Romelard Fabrice le 02-25-2019, 15:07

- Office 365: Script PowerShell pour auditer le contenu de son Office 365 Stream Portal par Blog Technique de Romelard Fabrice le 02-21-2019, 17:56

- Office 365: Script PowerShell pour auditer le contenu de son Office 365 Video Portal par Blog Technique de Romelard Fabrice le 02-18-2019, 18:56

- Office 365: Script PowerShell pour extraire les Audit Log basés sur des filtres fournis par Blog Technique de Romelard Fabrice le 01-28-2019, 16:13

- SharePoint Online: Script PowerShell pour désactiver l’Option IRM des sites SPO non autorisés par Blog Technique de Romelard Fabrice le 12-14-2018, 13:01