Bonjour à tous,
je pose la question avant de détruire mon PC à coups de batte de baseball.
Je n'ai pas écrit de scripts depuis des années (à peu près 10). Là, je dois faire un traitement, je reprends un vieux script qui tournait parfaitement sous Windows2000, Windows XP, Windows 7... Bref sur à peu près tout ce que Microsoft a produit jusqu'en 2010.
Et là que dalle ! Impossible de ne serait-ce que créer un fichier log même avec le script le plus simple du monde. Je me doute que cette cochonnerie de #@!+ de Windows 10 doit verrouiller par défaut les accès en écriture alors qu'on lui a rien demandé mais j'avoue qu'après avoir disjoncté il y a quelques jours pour partager un répertoire en désactivant le user/mdp sur un windows 10 pour finir par comprendre que les devs avaient supprimé le partage de fichier en anonyme sous Windows 10 tout en laissant les options qui permettaient d'activer le partage sans login , je n'ai pas forcément envier de passer des heures à chercher à comprendre pourquoi alors que j'exécute le script en admin, windows interdit l'accès aux divers répertoires .
Donc si quelqu'un sait pourquoi un truc aussi simple que ça :
affiche bien un truc dans la console (heureusement hein on est au niveau du print "hello world") mais refuse obstinément de créer le fichier Log_traitement.txt quelles que soient les options de types flush/autoflush que j'utilise alors même que j'exécute le script depuis une fenêtre de commande en admin.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 #!C:\perl -w use strict; open (SORTIE,">F:\\Log_traitement.txt"); print SORTIE ("Test"); print ("Test"); close (SORTIE);
Précisions :
Versions perl : 5.32.1
Version Windows 10 : Windows 10 Enterprise LTSC version 1809 - Build 17763.3046
Si quelqu'un a la solution avant que j'attaque l'écran à la tronçonneuse, je prends.
Partager