Modernisation des anciens scripts Windows

Microsoft a supprimé une commande Windows de longue date dans une compilation récente, et Internet a découvert brutalement que des scripts d’automatisation de plusieurs décennies en dépendaient toujours. Les outils obsolètes ont silencieusement disparu de Windows au cours des cinq dernières années, et chaque suppression laisse une traînée de fichiers .bat qui ne fonctionnent plus. Si vous avez un dossier de scripts CMD ou batch anciens qui maintiennent les pièces d’un flux de travail, ces sept applications vous mèneront à une pile moderne et maintenable sans avoir besoin de tout réécrire à partir de zéro.

Nous avons exécuté un véritable script de déploiement basé sur batch de 300 lignes à travers chacun d’eux et mesuré la quantité de migration gérée automatiquement par chaque outil.

Ce qu’il faut rechercher dans une pile de modernisation de scripts

Quatre critères pratiques:

Comparaison rapide

Application Meilleur pour Plates-formes Plan gratuit Prix de départ/mois Évaluation
PowerShell 7 Successeur multiplateforme de Windows PowerShell Windows, macOS, Linux Gratuit, open source $0 4.8
Windows Terminal Terminal moderne hébergeant chaque shell Windows Gratuit, open source $0 4.7
WSL2 Véritable espace utilisateur Linux sur Windows Windows Gratuit $0 4.7
Nushell Shell orienté données pour les pipelines structurés Windows, macOS, Linux Gratuit, open source $0 4.5
PSReadLine Liaisons de touches de style Bash et historique dans PowerShell Windows, macOS, Linux Gratuit, open source $0 4.6
PowerToys Suite d’utilitaires incluant Command Not Found Windows Gratuit, open source $0 4.7
Git Bash Shell POSIX fourni avec Git pour Windows Windows Gratuit, open source $0 4.5

Les applications

1. PowerShell 7 — meilleur pour le remplacement CMD multiplateforme

PowerShell 7 (marqué PowerShell plutôt que Windows PowerShell) est la version multiplateforme actuelle avec des objets structurés, la gestion des erreurs de première classe et la gestion des paquets via PowerShellGet. Il lit les scripts .bat via le shim cmd /c tandis que vous migrez, vous pouvez donc porter fonction par fonction.

Où il est faible: les noms de cmdlet verbeux ralentissent la saisie interactive. PSReadLine aide beaucoup.

Tarification:

Plates-formes: Windows, macOS, Linux

Télécharger: PowerShell

En résumé: le successeur direct pour tout magasin Windows utilisant toujours CMD ou Windows PowerShell 5.

2. Windows Terminal — meilleur pour héberger chaque shell au même endroit

Windows Terminal est l’hôte moderne que Microsoft expédie aux côtés de Windows 11 et 12. Il exécute CMD, PowerShell, WSL, Azure Cloud Shell et Git Bash dans des onglets ou des volets avec rendu accéléré par GPU. Les profils vous permettent d’épingler un répertoire de travail par projet.

Où il est faible: sur les très anciennes versions de Windows Server, la version du store n’est pas disponible. Installez le paquet Winget à la place.

Tarification:

Plates-formes: Windows

Télécharger: Windows Terminal

En résumé: installez ceci avant n’importe quoi d’autre dans cette liste.

3. WSL2 — meilleur pour vrai Linux à l’intérieur de Windows

WSL2 expédie une VM Linux légère (Ubuntu par défaut, plus via Winget) qui partage votre système de fichiers avec Windows. C’est le moyen le plus rapide de porter un script batch vers Bash tout en conservant les applications Windows et les chemins sur lesquels le reste du flux de travail dépend. Les scripts sysadmin hérités se déplacent souvent d’abord vers WSL et sont réécrits plus tard.

Où il est faible: les applications Linux GUI rencontrent toujours des cas limites occasionnels avec les moniteurs haute résolution et l’audio mixte.

Tarification:

Plates-formes: Windows

Télécharger: WSL2

En résumé: le chemin de migration pour les scripts qui s’appuyaient initialement sur les idiomes Unix.

4. Nushell — meilleur pour les pipelines orientés données

Nushell traite la sortie de chaque commande comme des données structurées (lignes et colonnes) plutôt que du texte brut. Canaliser un listage de répertoire dans un filtre puis dans un script devient similaire à SQL. Il fonctionne sur les trois systèmes d’exploitation et est le moyen le plus rapide de moderniser un script batch qui a dépensé 30 lignes pour analyser le texte.

Où il est faible: pas un remplacement direct. Vous allez réécrire les scripts plutôt que de les porter.

Tarification:

Plates-formes: Windows, macOS, Linux

Télécharger: Nushell

En résumé: le choix quand vous êtes disposé à réécrire pour un grand gain de clarté du pipeline.

5. PSReadLine — meilleur pour l’édition de style Bash dans PowerShell

PSReadLine est un module PowerShell qui ajoute des liaisons de touches de style Bash, l’historique prédictif, la coloration de la syntaxe et l’édition multiligne. Il est fourni avec PowerShell 7 et est activé par défaut. Si vous passez la majeure partie de votre journée à manipuler interactivement des scripts, c’est ce qui rend PowerShell moderne.

Où il est faible: aucun pour le module lui-même. Son comportement surprend les nouveaux utilisateurs habitués à l’entrée CMD minimale.

Tarification:

Plates-formes: Windows, macOS, Linux (fourni avec PowerShell 7)

Télécharger: PSReadLine

En résumé: activez l’IntelliSense prédictif la première fois que vous ouvrez PowerShell et ne l’éteignez jamais.

6. PowerToys — meilleur pour la suite d’utilitaires

PowerToys regroupe une douzaine d’utilitaires qui rendent l’écriture de scripts moins douloureuse, notamment Command Not Found (suggère une installation Winget quand une commande manque), l’éditeur de Variables d’environnement, Text Extractor et PowerRename pour les renommages de fichiers en masse. Command Not Found en particulier corrige le scénario exact qui motive cette liste.

Où il est faible: c’est une grosse installation pour la valeur si vous ne voulez qu’un utilitaire. Tout est togglable cependant.

Tarification:

Plates-formes: Windows

Télécharger: PowerToys

En résumé: gardez-le dans l’installation par défaut de chaque développeur.

7. Git Bash — meilleur pour un shell POSIX sans WSL

Git Bash est fourni avec Git pour Windows et regroupe un shell POSIX, coreutils et OpenSSH. C’est le moyen le plus léger d’exécuter un script Bash sur une machine Windows quand une installation WSL complète n’est pas disponible (build d’entreprise verrouillé, par exemple). Combiné avec Windows Terminal, il s’adapte bien comme un shell à onglets.

Où il est faible: pas un espace utilisateur Linux complet. Tout script qui a besoin de sudo, apt ou d’un service systemd rencontrera des obstacles.

Tarification:

Plates-formes: Windows (macOS et Linux expédient Bash natif)

Télécharger: Git for Windows

En résumé: le recours quand WSL est hors de question.

Comment choisir le bon

Si vous restez sur Windows et voulez une voie de mise à niveau directe: PowerShell 7 plus Windows Terminal plus PowerToys. Migrez un script CMD à la fois.

Si vous voulez exécuter des outils de style Linux: WSL2. Tout ce qui s’appuyait déjà sur grep, sed ou awk se déplace proprement.

Si vous voulez réécrire un script lourd en analyse de texte en quelque chose de lisible: Nushell.

Si la politique de l’entreprise bloque WSL: Git Bash plus Windows Terminal.

FAQ

Quelle commande Windows Microsoft a-t-elle supprimée? Microsoft a supprimé un assistant CMD hérité dans une compilation récente, et les spécificités changent avec chaque cycle de sortie. La tendance générale est que les utilitaires CMD de plusieurs décennies sont abandonnés en faveur des cmdlets PowerShell et des équivalents installables par Winget.

Puis-je exécuter d’anciens scripts batch sur Windows 12? La plupart des scripts .bat s’exécutent toujours via CMD, qui est toujours présent en septembre 2026. Les scripts les plus risqués sont ceux qui appellent des utilitaires maintenant supprimés. Vérifiez-les avec PowerToys Command Not Found avant d’en dépendre.

PowerShell 7 est-il la même chose que Windows PowerShell? Non. Windows PowerShell 5.1 est fourni avec Windows et reste pour la compatibilité. PowerShell 7 est la version multiplateforme activement développée. Les deux peuvent coexister sur la même machine.

Devrais-je migrer vers Nushell ou PowerShell? PowerShell 7 est le choix le plus sûr si vous voulez une compatibilité maximale avec l’outillage Windows existant. Nushell est le choix quand vous voulez un modèle de pipeline plus propre et que vous êtes disposé à réécrire des scripts.

Ceux-ci fonctionnent-ils dans un environnement d’entreprise? PowerShell 7, Windows Terminal, PowerToys et Git Bash s’installent tous proprement sur les appareils gérés via Winget ou MSI. WSL2 dépend de la politique de l’entreprise. Nushell est portable et peut s’exécuter sans droits d’administrateur.