Mon problème de Freeze de la fonction stdoutread sous windows 2003 ne semblant pas trouver une solution de sitôt, j'ai changé de stratégie et bing!!, j'ai encore un soucis...
Ce coup ci, c'est plus simple à comprendre, et je me demande si c'est pas un finger check ou une panne de neurone
Bref, si une âme charitable pouvait tester le simple script ci-dessous et me dire ce qui ne va pas ?
► Afficher le texte
J'ai donc demandé au script d'afficher la commande dans la console .
Quand je recopie cette commande dans une console CMD, ça fonctionne bien.
[ EDIT ] . C'est réglé : Apparemment, quand on utilise une redirection de commande et que la destination est écrite en syntaxe 8.3 ( exemple : C:\DOCUME~1\ADMINISTRATEUR\LOCALS~1\Temp\SC_scan.tmp ), alors ça ne supporte pas d'etre entouré par des quotes.
mauvais :
Code : Tout sélectionner
$CMDE=@ComSpec & " /c """ & $SC & """ " & $SERVEUR & " " & $ACTION & " " & $NOMSERVICE & " > """ & $SC_TMPFILE & """ 2>&1"Code : Tout sélectionner
$CMDE=@ComSpec & " /c """ & $SC & """ " & $SERVEUR & " " & $ACTION & " " & $NOMSERVICE & " > " & $SC_TMPFILE & " 2>&1"[edit BIS] : C'était pas réglé : dans certains cas, @tempdir renvoie un mélange de chemin en 8.3 et des espaces dedans !!
La solution (bâtarde mais universelle) a été de supprimer carrément le chemin, et d'utiliser @tempdir pour le répertoire de travail.
$SC_TMPFILE=SC_scan.tmp

