"Conversation" avec ChatGPT

"Conversation" avec ChatGPT

ChatGPT est devenu incontournable dans le domaine de IA. Je l'ai testé pendant plusieurs jours. Et pour commencer, je lui ai demandé ce qu'il pensait de ce bout de code :

Get-ChildItem "*.mp4" |
>>       Sort-Object -Property LastWriteTime |
>>       ForEach-Object -Begin {Write-Host "Initialisations..."
>>                 $count=1
>>             }  -Process  {
>>                     # en cas de renommage multiples... sur les mêmes fichiers
>>                     $oldBaseName=$_.BaseNAme -Replace "\d{3} - ", ""
>>                     $NewName = "{0:D3} - {1}{2}" -f $count, $oldBaseName, $_.Extension
>>                     $NewName=$NewName -Replace "[\[\]\s+]", ' '
>>                     $NewName=$NewName.Trim()
>>                     #Rename-Item  $_.FullName -NewName  "$($_.directoryName)\$count - $($_.BaseName)$($_.Extension)" ;
>>                     Rename-Item  $_.FullName -NewName  $NewName
>>                     $count++
>>             } -End {
>> $count--
>>                 Write-Host "Fini avec $($count) fichiers renommés"
>>             }        

Et voici sa réponse

Bonne analyse de la part de ChatGPT...

  1. Bonne utilisation de la pipeline : Le code utilise la pipeline pour chaîner différentes opérations, ce qui est une pratique courante et rend le code lisible.
  2. Utilisation de la commande Get-ChildItem : La commande Get-ChildItem est utilisée pour obtenir la liste des fichiers .mp4 dans le répertoire. C'est une utilisation appropriée de cette commande.
  3. Utilisation de Sort-Object : Le tri des fichiers par LastWriteTime avant de les renommer est une bonne pratique.
  4. Utilisation de ForEach-Object : Le bloc ForEach-Object est utilisé pour traiter chaque fichier dans la boucle.
  5. Manipulation des noms de fichiers : La manipulation des noms de fichiers pour ajouter un préfixe numérique semble correcte, et l'utilisation des expressions régulières (-Replace) est judicieuse pour éliminer certaines parties du nom du fichier.
  6. Commentaires explicatifs : Les commentaires inclus dans le code (notamment dans le bloc -Begin et -End) sont utiles pour expliquer les étapes du processus.
  7. Code commenté : La ligne de code qui effectue réellement le renommage des fichiers est actuellement commentée (#Rename-Item). Si vous êtes sûr que le reste du code fonctionne correctement, vous pouvez décommenter cette ligne pour activer le renommage réel.
  8. Finalisation avec un message : Le bloc -End affiche un message indiquant le nombre de fichiers renommés. C'est une bonne pratique pour fournir un retour d'information à l'utilisateur.

Assurez-vous de tester le script sur un ensemble de fichiers de test avant de l'utiliser sur des fichiers réels pour éviter toute perte accidentelle de données. En général, il semble y avoir une approche logique pour renommer les fichiers selon vos besoins.


J'ai continué avec WPF, Copilot, GitHub, Windev, C#, la progression pédagogique pour les premières STI2D, NSDK (il ne connait pas), faire un bon CV, rédiger un Mail pour mon épouse, les AI, Python,...

Au final, J'ai été impressionné de voir que cette intelligence "artificielle" était bien plus performante que l'intelligence "naturelle" de mes élèves ;-)


J'ai complétement oublié de lui parler de refactoring. Et je ne lui ai pas demandé si c'était une bonne idée de laisser des instructions commentées dans mes codes sources. Et à ce propos, on peut améliorer mon morceau de code :

Get-ChildItem "*.mp4" |
  Sort-Object -Property LastWriteTime | 
  ForEach-Object -Begin {
     Write-Host "Initialisations..."
     $count=0
  }  -Process  {
     $count++
     # en cas de renommage multiples... sur les mêmes fichiers
     $oldBaseName=$_.BaseNAme -Replace "\d{3} - ", ""
     $NewName = "{0:D3} - {1}{2}" -f $count, $oldBaseName, $_.Extension
     $NewName=$NewName -Replace "[\[\]\s+]", ' '
     $NewName=$NewName.trim()

     Rename-Item  $_.FullName -NewName  $NewName
                    
 } -End {
     Write-Host "Fini avec $($count) fichiers renommés"
 }        

Pour finir, J'ai demandé à ChatGPT de synthétiser notre conversation pour un post linkedIn en allant à l'essentiel...

Ce sera pour une prochaine fois.



Identifiez-vous pour afficher ou ajouter un commentaire

Plus d’articles de Christophe VÉRON

  • Tests TOSA

    Tests TOSA

    J'ai passé le test de positionnement WordPress. Le rapport est généré par une I.

  • L'I.A. et la réalité augmentée pour une "classe du futur" ?

    L'I.A. et la réalité augmentée pour une "classe du futur" ?

    #edtech #chatgpt #formation #OpenClassRooms #mistral.IA On sait tous que l'I.

  • I.A. pour tout le monde

    I.A. pour tout le monde

    Bonjour, l’intelligence artificielle est un sujet fascinant qui transforme notre quotidien, et parfois sans que l'on…

    1 commentaire
  • Powershell encore...

    Powershell encore...

    Bonjour à tous. Ce post n'a pas été rédigé par une intelligence artificielle.

  • Prompt Engineering

    Prompt Engineering

    La réponse à la question "Comment parler à une A.I.

  • SplashScreen avec canal alpha sur Powershell

    SplashScreen avec canal alpha sur Powershell

    Parfois, on a besoin de ce que l'on appelle un Splash Screen. J'ai trouvé pleins d'exemples de script Powershell sur…

  • Coder en WPF et Powershell avec ChatGPT

    Coder en WPF et Powershell avec ChatGPT

    Je voudrais vous faire part de quelques remarques sur ChatGPT en tant que "développeur". Voici une capture d'écran de…

  • OnBoarding

    OnBoarding

    Quand même, il y en a qui ont de la chance ! "Un accompagnement à votre prise de fonction sera mis en place par…

  • WEB Scrapping avec PowerShell

    WEB Scrapping avec PowerShell

    Powershell n'est pas le premier outil qui vient à l'esprit lorsque l'on pense "Web Scrapping", "Big Data" et "Data…

  • Petit entrainement avec PowerShell

    Petit entrainement avec PowerShell

    Dernièrement, je me suis mis à faire le ménage sur mes disques durs. En effet, les répertoires sont pleins de fichiers…

Autres pages consultées

Explorer les sujets