Question
script qui fonctionne seulement en mode intéractif
- rocchietta
- Auteur du sujet
- Hors Ligne
- Nouveau membre
-
- Messages : 7
- Remerciements reçus 0
J'avais une ligne $error[0]=\"\" dans la fonctionne Get-MD5 qui plantait le script.
Maintenant je ne sais toujours pas pourquoi cela ne plante pas en mode interactif
Merci pour votre aide.
Message édité par: kortex, à: 8/08/12 15:00<br><br>Message édité par: kortex, à: 8/08/12 15:11
Connexion ou Créer un compte pour participer à la conversation.
- Matthew BETTON
- Hors Ligne
- Membre platinium
-
- Messages : 968
- Remerciements reçus 0
Maintenant je ne sais toujours pas pourquoi cela ne plante pas en mode interactif
Cela ne plante pas... Donc pas de message d'erreur et cela ne fait rien ?
Peux tu poster ici le code complet de ton script ?
Quelle est la stratégie d'exécution des scripts ?
[code:1]Get-ExecutionPolicy[/code:1]
Mise à part ce problème, dans ton code :
[code:1]$stream=[System.IO.File]::Open($file,\"open\",\"read\",\"ReadWrite\"«»);[/code:1]
Tu peux aussi utiliser la méthode 'openread', car il n'est pas utile d'accéder au fichier en 'ReadWrite' :
[code:1]$stream=[System.IO.File]::OpenRead($file);[/code:1]
Tu n'es pas obligé d'utilisé le \";\" à chaque fin de ligne, si la ligne à exécuter est suivie d'un retour chariot.
@ +
Matthew<br><br>Message édité par: Matthew BETTON, à: 8/08/12 18:16
Connexion ou Créer un compte pour participer à la conversation.
- rocchietta
- Auteur du sujet
- Hors Ligne
- Nouveau membre
-
- Messages : 7
- Remerciements reçus 0
Cela ne plante pas... Donc pas de message d'erreur et cela ne fait rien ?
Cela ne plante pas et le script fonctionne parfaitement.
C'était le $error[0]=\"\" qui faisait planter le script. Mais seulement lors d'un lancement avec powershell.exe monscript.ps1
Mise à part ce problème, dans ton code :
Tu peux aussi utiliser la méthode 'openread', car il n'est pas utile d'accéder au fichier en 'ReadWrite' :
$stream=[System.IO.File]::OpenRead($file);
La ligne
me permet d'ouvrir le fichier en lecture seule mais en posant un verrou permettant aux autres applications un accès en lecture/écriture.$stream=[System.IO.File]::Open($file,\"open\",\"read\",\"ReadWrite\");
C'est un moyen me permettant d'accéder à des fichiers ayant déjà un verrou autre que \"lock\" et évite d'avoir l'accès rejeté.
Tu n'es pas obligé d'utilisé le \";\" à chaque fin de ligne, si la ligne à exécuter est suivie d'un retour chariot.
Le \";\" est une vieille habitude de Perl et javascript
Et comme cela n'empêche pas le fonctionnement de powershell
Connexion ou Créer un compte pour participer à la conversation.
- Matthew BETTON
- Hors Ligne
- Membre platinium
-
- Messages : 968
- Remerciements reçus 0
Connexion ou Créer un compte pour participer à la conversation.
- Vous êtes ici :
-
Accueil
-
forum
-
PowerShell
-
Entraide pour les débutants
- script qui fonctionne seulement en mode intéractif