OVH Cloud OVH Cloud

*WinXP: commande batch cmd et switch A et U *

22 réponses
Avatar
Daniel92
Bonsoir,

Dans la commande batch cmd les switch /A et /U permettent :

/a Crée une sortie ANSI (American National Standards Institute).
Redirige la sortie de commandes internes vers un canal ou un fichier ANSI

/u Crée une sortie Unicode.
Redirige la sortie de commandes internes vers un canal ou un fichier UNICODE

Je n'ai pas réussi à comprendre et à trouver dans la documentation,
comment on indique le canal ou le fichier vers où rediriger la sortie?
Peut-on y récupérer un Code de Sortie ( Exit [CodeSortie] ? )
exploitable par la suite?

Merci,
Daniel.
====

10 réponses

1 2 3
Avatar
Stéphane [MS]
Bonjour,

C'est l'utilisation des caractère "|" et ">" (sans les guillemets), qui
redirige les sorties d'un batch cmd.

Par exemple :
Dir > toto.txt
ou
Dir | Find "toto"

Cdlt
Stéphane

"Daniel92" a écrit dans le message de news:


Bonsoir,

Dans la commande batch cmd les switch /A et /U permettent :

/a Crée une sortie ANSI (American National Standards Institute).
Redirige la sortie de commandes internes vers un canal ou un fichier ANSI

/u Crée une sortie Unicode.
Redirige la sortie de commandes internes vers un canal ou un fichier
UNICODE

Je n'ai pas réussi à comprendre et à trouver dans la documentation,
comment on indique le canal ou le fichier vers où rediriger la sortie?
Peut-on y récupérer un Code de Sortie ( Exit [CodeSortie] ? )
exploitable par la suite?

Merci,
Daniel.
=== >




Avatar
Jean
Bonjour,

pour compléter les propos de Stéphane :

(exécutez dir sur un répertoire contenant des caractères accentués)

::---8<---Unicode-Ansi.CMD---Jean-JMST-Belgium---
@echo off

::unicode
cmd /u /c dir>dir.txt
start /W notepad dir.txt

::ansi
cmd /a /c dir>dir.txt
edit dir.txt

::unicode
echo dir|cmd /u>dir.txt|exit
start /W notepad dir.txt

::ansi
echo dir|cmd /a>dir.txt|exit
edit dir.txt

del dir.txt
::---8<---Unicode-Ansi.CMD---Jean-JMST-Belgium---

Amicalement,

Jean - JMST
Belgium

"Daniel92" a écrit dans le message de news:

Bonsoir,

Dans la commande batch cmd les switch /A et /U permettent :

/a Crée une sortie ANSI (American National Standards Institute).
Redirige la sortie de commandes internes vers un canal ou un fichier ANSI

/u Crée une sortie Unicode.
Redirige la sortie de commandes internes vers un canal ou un fichier UNICODE

Je n'ai pas réussi à comprendre et à trouver dans la documentation,
comment on indique le canal ou le fichier vers où rediriger la sortie?
Peut-on y récupérer un Code de Sortie ( Exit [CodeSortie] ? )
exploitable par la suite?

Merci,
Daniel.
=== >




Avatar
JF
*Bonjour* !

| Je n'ai pas réussi à comprendre et à trouver dans la documentation,
| comment on indique le canal ou le fichier vers où rediriger la sortie?


Utilisation d'opérateurs de redirection des commandes ==>
HH NTCMDS.CHM::/redirection.htm

Extrait ==>
Les opérateurs de redirection permettent de rediriger les données d'entrée
et de sortie des commandes, à partir d'emplacements par défaut vers
d'autres emplacements. L'emplacement des données d'entrée ou de sortie est
appelé un descripteur.
Le tableau suivant contient la liste des opérateurs que vous pouvez
utiliser pour rediriger les données d'entrée et de sortie des commandes.

Opérateur de redirection Description
Permet d'enregistrer les données obtenues en résultat d'une
commande dans un fichier ou de les diriger vers un périphérique, tel qu'une

imprimante, au lieu de les afficher dans la fenêtre de l'invite de
commandes.
< Permet de récupérer l'entrée d'une commande à partir d'un fichier
au lieu de la saisir sur le clavier.
Permet d'ajouter les données qui résultent d'une commande à la fin
d'un fichier sans supprimer les données qui s'y trouvent déjà.


& Permet de remplacer les données d'entrée d'un handle par les
données de sortie d'un autre handle.

<& Permet de lire les données d'entrée dans un handle et de les
écrire en tant que données de sortie dans un autre handle.
| Permet de lire les données obtenues en sortie d'une commande et de
les écrire en tant que données d'entrée dans une autre commande. Ce symbole
est appelé une barre verticale.

--
Trouver des réponses:
1- www.d2i.ch/pn/az
2- www.d2i.ch/pn/depannage/supports.html#faq
3- Outlook Express : faire [MAJ+F3], puis [F3]
4- Outlook Express : Suivez vos fils : [CTL+H]
- Salutations, Jean-François.


Avatar
Daniel92
Bonjour! et merci à tous les trois.

Dans http://groups.google.fr/groups?threadm=
vous m'indiquez :

: Dans la commande batch cmd les switch /A et /U permettent :
:
: /a Crée une sortie ANSI (American National Standards Institute).
: Redirige la sortie de commandes internes vers un canal ou un fichier ANSI
: /u Crée une sortie Unicode.
: Redirige la sortie de commandes internes vers un canal ou un fichier UNICODE
:
: Je n'ai pas réussi à comprendre et à trouver dans la documentation,
: comment on indique le canal ou le fichier vers où rediriger la sortie?
: Peut-on y récupérer un Code de Sortie ( Exit [CodeSortie] ? )
: exploitable par la suite?

** En fait j'avais cherché quelque chose de plus compliqué, induit
en erreur par le "Redirige la sortie ..." .
Donc si j'ai bien compris, à partir de cette instance de cmd,
et celle qu'elle appellera??, toutes les redirections vers
un fichier ou un handle se feront :
soit en Ansi si on est entré par cmd /A,
soit en Unicode si on est entré par cmd /U

** Je vais faire des essais avec Exit [nombre] et
errorlevel pour voir s'il n'y a pas ... de surprise
en récupérant les CodeSortie .

Merci,
Daniel.
====
Avatar
Jean
Donc si j'ai bien compris, à partir de cette instance de cmd,
et celle qu'elle appellera??, toutes les redirections vers
un fichier ou un handle se feront :
soit en Ansi si on est entré par cmd /A,
soit en Unicode si on est entré par cmd /U


Prenez attention au fait que ça ne concerne que les commandes *INTERNES* de l'interpréteur de commande (cmd), comme le dit l'aide :

"Redirige la sortie de commandes *internes* vers un canal ou un fichier ANSI/Unicode"


Amicalement,

Jean - JMST
Belgium


"Daniel92" a écrit dans le message de news:

Bonjour! et merci à tous les trois.

Dans http://groups.google.fr/groups?threadm=
vous m'indiquez :

: Dans la commande batch cmd les switch /A et /U permettent :
:
: /a Crée une sortie ANSI (American National Standards Institute).
: Redirige la sortie de commandes internes vers un canal ou un fichier ANSI
: /u Crée une sortie Unicode.
: Redirige la sortie de commandes internes vers un canal ou un fichier UNICODE
:
: Je n'ai pas réussi à comprendre et à trouver dans la documentation,
: comment on indique le canal ou le fichier vers où rediriger la sortie?
: Peut-on y récupérer un Code de Sortie ( Exit [CodeSortie] ? )
: exploitable par la suite?

** En fait j'avais cherché quelque chose de plus compliqué, induit
en erreur par le "Redirige la sortie ..." .
Donc si j'ai bien compris, à partir de cette instance de cmd,
et celle qu'elle appellera??, toutes les redirections vers
un fichier ou un handle se feront :
soit en Ansi si on est entré par cmd /A,
soit en Unicode si on est entré par cmd /U

** Je vais faire des essais avec Exit [nombre] et
errorlevel pour voir s'il n'y a pas ... de surprise
en récupérant les CodeSortie .

Merci,
Daniel.
=== >




Avatar
Daniel92
Bonsoir Jean,

: > : Dans la commande batch cmd les switch /A et /U permettent :
: > :
: > : /a Crée une sortie ANSI (American National Standards Institute).
: > : Redirige la sortie de commandes internes vers un canal ou un fichier ANSI
: > : /u Crée une sortie Unicode.
: > : Redirige la sortie de commandes internes vers un canal ou un fichier UNICODE

: comme le dit l'aide :
: "Redirige la sortie de commandes *internes* vers un canal ou un fichier
: ANSI/Unicode"

** Effectivement Redirige n'était pas très heureux, mais Interne
sans précision ... ne l'est pas non plus. Interne à quoi, à l'instance
de Cmd.exe en cours, à l'ensemble des instances de cmd qui
peuvent s'ouvrir successivement, interne au PC (locale) ?
Manque de précision.


: >Donc si j'ai bien compris, à partir de cette instance de cmd,
: >et celle qu'elle appellera??, toutes les redirections vers
: >un fichier ou un handle se feront :
: >soit en Ansi si on est entré par cmd /A,
: >soit en Unicode si on est entré par cmd /U

: Prenez attention au fait que ça ne concerne que les commandes
*INTERNES* de l'interpréteur de commande (cmd),

** J'essaye de réfléchir à l'incidence que cela peut avoir
avec ce que je veux faire... Je ne pense pas que ça me gêne
au fonctionnement de la variable errorlevel près (je n'ai pas
encore regardé l'incidence de setlocal - endlocal sur les
instances de cmd qui s'ouvrent et sur les variables qui
se créent à la 1ere instance de cmd ouverte)

Amicalement,
Daniel.
====
Avatar
Jean
Bonjour,

Interne à quoi, à l'instance
de Cmd.exe en cours, à l'ensemble des instances de cmd qui
peuvent s'ouvrir successivement, interne au PC (locale) ?
Manque de précision.


Les commandes internes de cmd.exe.
Le switch /U fonctionnera avec DIR (une commande interne) mais pas avec FIND (une commande externe) par exemple.

Pour avoir une sortie unicode du résultat d'une commande (externe) FIND vous pouvez par ex. utiliser la commande interne TYPE comme
intermédiaire, par ex. :

::---8<---Unicode.CMD---Jean-JMST-Belgium---
dir|find "num">dir.tmp
cmd /u /c type dir.tmp>dir.txt
start /W notepad dir.txt
del dir.tmp
del dir.txt
::---8<---Unicode.CMD---Jean-JMST-Belgium---

Voici 2 scripts (un JScript et un VBScript) qui listent les commandes internes de cmd (sous windows 2000/XP) :

http://automation.eu.tf/CMD_Commandes_Internes.JS (voir code ci-dessous)
http://automation.eu.tf/CMD_Commandes_Internes.VBS (voir code ci-dessous)

//---8<---CMD_Commandes_Internes.JS---Jean-JMST-Belgium---
r=''

with(new ActiveXObject("Scripting.FileSystemObject")){
systeme=GetSpecialFolder(1)
temp=BuildPath(GetSpecialFolder(2),GetTempName())
new ActiveXObject("Wscript.Shell")
.Run('cmd.exe /c help>"'+temp+'"',0,true)
f=OpenTextFile(temp,1)
while(!f.AtEndOfStream){
l=f.ReadLine()
if(/^(?:[A-Zd]{2})./.test(l)){
c=l.match(/([A-Zd])+/)[0]
if(!FileExists(BuildPath(systeme,c+'.exe'))&&
!FileExists(BuildPath(systeme,c+'.com'))){
r=r+c
if(!f.AtEndOfStream){r=r+'n'}
}
}
}
f.Close()
DeleteFile(temp)
}

WScript.Echo(r)
//---8<---CMD_Commandes_Internes.JS---Jean-JMST-Belgium---

'---8<---CMD_Commandes_Internes.VBS---Jean-JMST-Belgium---
Set RE=new RegExp

With CreateObject("Scripting.FileSystemObject")
systeme=.GetSpecialFolder(1)
temp=.BuildPath(.GetSpecialFolder(2),.GetTempName)
CreateObject("WScript.Shell").Run "cmd.exe /c help>"""&_
temp&_
"""",0,True
Set f=.OpenTextFile(temp,1)
While Not f.AtEndOfStream
l=f.ReadLine
RE.Pattern="^(?:[A-Zd]{2})."
If RE.Test(l) Then
RE.Pattern="([A-Zd])+"
c=RE.Execute(l).Item(0).Value
If Not .FileExists(.BuildPath(systeme,c&".exe")) And _
Not .FileExists(.BuildPath(systeme,c&".com")) Then
r=r&c
If Not f.AtEndOfStream Then r=r&VbNewLine
End If
End If
Wend
f.Close
.DeleteFile(temp)
End With

WScript.Echo r
'---8<---CMD_Commandes_Internes.VBS---Jean-JMST-Belgium---

Amicalement,

Jean - JMST
Belgium




"Daniel92" a écrit dans le message de news:

Bonsoir Jean,

: > : Dans la commande batch cmd les switch /A et /U permettent :
: > :
: > : /a Crée une sortie ANSI (American National Standards Institute).
: > : Redirige la sortie de commandes internes vers un canal ou un fichier ANSI
: > : /u Crée une sortie Unicode.
: > : Redirige la sortie de commandes internes vers un canal ou un fichier UNICODE

: comme le dit l'aide :
: "Redirige la sortie de commandes *internes* vers un canal ou un fichier
: ANSI/Unicode"

** Effectivement Redirige n'était pas très heureux, mais Interne
sans précision ... ne l'est pas non plus. Interne à quoi, à l'instance
de Cmd.exe en cours, à l'ensemble des instances de cmd qui
peuvent s'ouvrir successivement, interne au PC (locale) ?
Manque de précision.


: >Donc si j'ai bien compris, à partir de cette instance de cmd,
: >et celle qu'elle appellera??, toutes les redirections vers
: >un fichier ou un handle se feront :
: >soit en Ansi si on est entré par cmd /A,
: >soit en Unicode si on est entré par cmd /U

: Prenez attention au fait que ça ne concerne que les commandes
*INTERNES* de l'interpréteur de commande (cmd),

** J'essaye de réfléchir à l'incidence que cela peut avoir
avec ce que je veux faire... Je ne pense pas que ça me gêne
au fonctionnement de la variable errorlevel près (je n'ai pas
encore regardé l'incidence de setlocal - endlocal sur les
instances de cmd qui s'ouvrent et sur les variables qui
se créent à la 1ere instance de cmd ouverte)

Amicalement,
Daniel.
=== >




Avatar
Daniel92
Bonsoir,

: > ** Effectivement Redirige n'était pas très heureux, mais Interne
: > sans précision ... ne l'est pas non plus. Interne à quoi, à l'instance
: > de Cmd.exe en cours, à l'ensemble des instances de cmd qui
: > peuvent s'ouvrir successivement, interne au PC (locale) ?
: > Manque de précision.

: Les commandes internes de cmd.exe.

** Ce n'est décidément par mon jour de chance ... pour
l'interprétation du mot interne...

: Le switch /U fonctionnera avec DIR (une commande interne)
: mais pas avec FIND (une commande externe) par exemple.

** Jusqu'à maintenant j'utilisais ce procédé empirique pour faire
la Distinction entre commande interne/externe et pour la localiser :

Par la "Création d'un raccourci" (en utilisant sa faculté de gérer
PATH et PATHEXT pour retrouver le chemin complet, dans
les répertoire Systèmes principaux, à partir d'un nom de PE
- Portable Exécutable - sans extensions)

* 'find' donne en faisant Suivant puis en refaisant Précédent:
%windir%System32find.exe

* 'type' donne
-------------------------------
Création d'un raccourci
-------------------------------

Le fichier type est introuvable.

OK
-------------------------------

=> donc 'type' est une commande interne à cmd.exe
et 'find' une commande externe.


: Pour avoir une sortie unicode du résultat d'une commande (externe)
: FIND vous pouvez par ex. utiliser la commande interne TYPE
: comme intermédiaire, par ex. :
: ::---8<---Unicode.CMD---Jean-JMST-Belgium---
:
: ... [...] ...
: Voici 2 scripts (un JScript et un VBScript) qui listent les commandes
: internes de cmd (sous windows 2000/XP) :
:
: http://automation.eu.tf/CMD_Commandes_Internes.JS (voir code ci-dessous)
: http://automation.eu.tf/CMD_Commandes_Internes.VBS (voir code ci-dessous)
:
: //---8<---CMD_Commandes_Internes.JS---Jean-JMST-Belgium---
:
: ... [...] ...
:
: '---8<---CMD_Commandes_Internes.VBS---Jean-JMST-Belgium---
:
: ... [...] ...
:
: Amicalement, Jean - JMST Belgium


** Maintenant j'ai ces deux Scripts.
Merci Jean pour ces trois exemples très pédagogiques.
Je trouve très élégantes et très utiles les boites de dialogue
Windows, qu'ouvrent les deux Scripts.
Et en plus la comparaison de la version Java et de la version
Vbs va me permettre de voir les différences entre Vbs que
j'effleure tout juste et JavaScript que je ne connais pas du tout.

J'utilise:
Notepad ou Metapad pour le langage de commandes des .bat,
VBScript Factory pour les VbScript.
Mais je n'ai pas d'autre éditeur que Notepad pour Java Script.


Amicalement,
Daniel.
====
Avatar
Jean
Bonjour,

Je trouve très élégantes et très utiles les boites de dialogue
Windows, qu'ouvrent les deux Scripts.
----


C'est le comportement de Echo avec WScript (qui est le client par défaut en standard sous Windows pour les script JS et VBS).
Vous pouvez aussi les exécuter avec CScript et vous aurez le résultat dans une console.
Par exemple, créeez le batch suivant et faites glisser les scripts dessus.
Vous pouvez faire la même chose en faisant l'enregistrement adhoc dans le registre pour faire une fonction similaire sur le clic
droit dans l'explorateur.

::---8<---executer_avec_cscript.cmd---Jean-JMST-Belgium---
@echo off
cscript.exe %1
echo Appuyer sur une touche pour fermer
pause>nul
::---8<---executer_avec_cscript.cmd---Jean-JMST-Belgium---


Sinon j'ai fait une version HTA de démo (en anglais) :

http://automation.eu.tf/CMD_Internals_Commands.HTA (code ci-dessous )

<!---CMD_Internals_Commands.HTA---Jean-JMST-Belgium--->

<!--

Scripts (VBScript and JScript) showing how to retrieve
CMD internals commands names on Windows 2000 and XP.

-->

<script defer language='jscript'>
<!---°°°°°°_Set document styles and positionings_°°°°°°--->
document.body.style.margin='0px'
with(B1){
value='List Internals Commands (JScript)'
with(style){
position='absolute'
width='50%'
}
}
with(B2){
value='List Internals Commands (VBScript)'
with(style){
position='absolute'
left=width='50%'
}
}
with(D1.style){
position='absolute'
width='50%'
top±.offsetHeight+'px'
backgroundColor='honeydew'
}
with(D2.style){
position='absolute'
left=width='50%'
top².offsetHeight+'px'
backgroundColor='lavender'
}

<!---°°°°°°_Function launching the JScript version on B1 button's onclick event_°°°°°°--->
function B1.onclick(){
r=''

with(new ActiveXObject("Scripting.FileSystemObject")){
systeme=GetSpecialFolder(1)
temp=BuildPath(GetSpecialFolder(2),GetTempName())
new ActiveXObject("Wscript.Shell")
.Run('cmd.exe /c help>"'+temp+'"',0,true)
f=OpenTextFile(temp,1)
while(!f.AtEndOfStream){
l=f.ReadLine()
if(/^(?:[A-Zd]{2})./.test(l)){
c=l.match(/^([A-Zd])+/)[0]
if(!FileExists(BuildPath(systeme,c+'.exe'))&&
!FileExists(BuildPath(systeme,c+'.com'))){
r=r+c
if(!f.AtEndOfStream){r=r+'<br>'}
}
}
}
f.Close()
DeleteFile(temp)
}
D1.innerHTML=r
}
</script>

<script defer language='vbscript'>
<!---°°°°°°_Sub launching the VBScript version on B2 button's onclick event_°°°°°°--->
Sub B2_OnClick
Set RE=new RegExp
r=""

With CreateObject("Scripting.FileSystemObject")
systeme=.GetSpecialFolder(1)
temp=.BuildPath(.GetSpecialFolder(2),.GetTempName)
CreateObject("WScript.Shell").Run "cmd.exe /c help>"""&_
temp&_
"""",0,True
Set f=.OpenTextFile(temp,1)
While Not f.AtEndOfStream
l=f.ReadLine
RE.Pattern="^(?:[A-Zd]{2})."
If RE.Test(l) Then
RE.Pattern="^([A-Zd])+"
c=RE.Execute(l).Item(0).Value
If Not .FileExists(.BuildPath(systeme,c&".exe")) And _
Not .FileExists(.BuildPath(systeme,c&".com")) Then
r=r&c
If Not f.AtEndOfStream Then r=r&"<br>"
End If
End If
Wend
f.Close
.DeleteFile(temp)
End With
D2.innerHTML=r
End Sub
</script>

<input id± type='button'><input id² type='button'>
<div><div idÑ></div><div idÒ></div></div>


<!---CMD_Internals_Commands.HTA---Jean-JMST-Belgium--->

J'utilise:
Notepad ou Metapad pour le langage de commandes des .bat,
VBScript Factory pour les VbScript.
Mais je n'ai pas d'autre éditeur que Notepad pour Java Script.
----


Pour les batch il vaut mieux utiliser Edit.com ... surtout pour nous qui ne travaillons pas toujours en ascii 7bits :-)
Si vous reprenez l'exemple précédent (avec find), vous pouvez entrer des caractères accentués dans Edit et ça fonctionnera (en
écrivant "numéro" au lieu de "num" par ex.).

Sinon, pour les éditeurs de batch et de scripts il y a 2 grands acteurs sur le marché : PrimalScript (de Sapien) et UltraEdit.
Vous trouverez des versions d'évaluation sur leurs sites :

http://www.sapien.com/products.aspx (assez cher mais *très* complet)
http://www.ultraedit.com (moins "fun" que primal script mais avec des possibilités d'édition intérresantes)

Vous avez aussi une kyrielle d'éditeurs gratuits dont vous trouverez des listes en recherchant sur Google.
Dans le tas je trouve que la version Light (gratuite) de NoteTab vaut le détour :
http://www.notetab.com/download.php

Amicalement,

Jean - JMST
Belgium

"Daniel92" a écrit dans le message de news:

Bonsoir,

: > ** Effectivement Redirige n'était pas très heureux, mais Interne
: > sans précision ... ne l'est pas non plus. Interne à quoi, à l'instance
: > de Cmd.exe en cours, à l'ensemble des instances de cmd qui
: > peuvent s'ouvrir successivement, interne au PC (locale) ?
: > Manque de précision.

: Les commandes internes de cmd.exe.

** Ce n'est décidément par mon jour de chance ... pour
l'interprétation du mot interne...

: Le switch /U fonctionnera avec DIR (une commande interne)
: mais pas avec FIND (une commande externe) par exemple.

** Jusqu'à maintenant j'utilisais ce procédé empirique pour faire
la Distinction entre commande interne/externe et pour la localiser :

Par la "Création d'un raccourci" (en utilisant sa faculté de gérer
PATH et PATHEXT pour retrouver le chemin complet, dans
les répertoire Systèmes principaux, à partir d'un nom de PE
- Portable Exécutable - sans extensions)

* 'find' donne en faisant Suivant puis en refaisant Précédent:
%windir%System32find.exe

* 'type' donne
-------------------------------
Création d'un raccourci
-------------------------------

Le fichier type est introuvable.

OK
-------------------------------

=> donc 'type' est une commande interne à cmd.exe
et 'find' une commande externe.


: Pour avoir une sortie unicode du résultat d'une commande (externe)
: FIND vous pouvez par ex. utiliser la commande interne TYPE
: comme intermédiaire, par ex. :
: ::---8<---Unicode.CMD---Jean-JMST-Belgium---
:
: ... [...] ...
: Voici 2 scripts (un JScript et un VBScript) qui listent les commandes
: internes de cmd (sous windows 2000/XP) :
:
: http://automation.eu.tf/CMD_Commandes_Internes.JS (voir code ci-dessous)
: http://automation.eu.tf/CMD_Commandes_Internes.VBS (voir code ci-dessous)
:
: //---8<---CMD_Commandes_Internes.JS---Jean-JMST-Belgium---
:
: ... [...] ...
:
: '---8<---CMD_Commandes_Internes.VBS---Jean-JMST-Belgium---
:
: ... [...] ...
:
: Amicalement, Jean - JMST Belgium


** Maintenant j'ai ces deux Scripts.
Merci Jean pour ces trois exemples très pédagogiques.
Je trouve très élégantes et très utiles les boites de dialogue
Windows, qu'ouvrent les deux Scripts.
Et en plus la comparaison de la version Java et de la version
Vbs va me permettre de voir les différences entre Vbs que
j'effleure tout juste et JavaScript que je ne connais pas du tout.

J'utilise:
Notepad ou Metapad pour le langage de commandes des .bat,
VBScript Factory pour les VbScript.
Mais je n'ai pas d'autre éditeur que Notepad pour Java Script.


Amicalement,
Daniel.
=== >




Avatar
Daniel92
Bonjour,

: Vous pouvez aussi les exécuter avec CScript et vous aurez le
: résultat dans une console. Par exemple, créeez le batch suivant
: et faites glisser les scripts dessus.

: ::---8<---executer_avec_cscript.cmd---Jean-JMST-Belgium---
: ... [...] ...

** Et ... bien je ne connaissais pas cette possibilité de faire
glisser des paramétres sur le programme qui les exécute.
... Mais bon à savoir, merci.

* Pour Activation de l'environnement CScript, j'ai commencé par
essayer les 2 Scripts 'CMD_Commandes_Internes'
en Invite de commandes :

exec_CScr CmdIntJS.js
exec_CScr CmdIntVb.vbs

puis J'ai donc mis dans un dossier "testlocal" les 2 Scripts :
'CMD_Commandes_Internes' (CmdIntJS.js et CmdIntVb.vbs)
et le batch d'activation de l'environnement CScript (exec_CScr.bat)

et ... pas très rassuré, j'ai fait les glisser. Cela marche impeccable si le
dossier "testlocal" se trouve dans mon répertoire de test "C:XScrTst"

Mais ... mais ... mais si le dossier "testlocal" se trouve dans mon
répertoire de liberty talk :
"C:A1DCjobWorkMaintPCEventsErrProgCommdeApprendLangRech&JFBootIniCmd_RefCmdUt_cmd_swU"
... il se plante

Microsoft (R) Windows Script Host Version 5.6
Copyright (C) Microsoft Corporation 1996-2001. Tous droits réservés.
-------- message de l'Invite ---
Erreur en entrée: Pas d'extension de fichier dans "C:A1DCjobWorkMaintPCEvents
ErrProgCommdeApprendLangRech".
Appuyer sur une touche pour fermer
--------------------------------

=> il n'apprécie pas de rencontrer dans le chemin le symbole de
traitement "&" du dossier Rech&JF ...

: Vous pouvez faire la même chose en faisant l'enregistrement adhoc
: dans le registre pour faire une fonction similaire sur le clic
: droit dans l'explorateur.

** Pour cela je ne suis pas encore très bon, mais j'ai vu des
exemples dans les Faqs (celle de JC Bellamy ou La Tanière, je crois)


: Sinon j'ai fait une version HTA de démo (en anglais) :
: http://automation.eu.tf/CMD_Internals_Commands.HTA (code ci-dessous )
( pas très important mais la référence ne marche plus )

: <!---CMD_Internals_Commands.HTA---Jean-JMST-Belgium--->
: ... [...] ...

** Pour le Test de CMD_Internals_Commands.HTA
(toujours avec mon notepad, je ne maitrise pas encore Html)

vert clair - honeydew pour (JScript)
violet clair - lavender pour (VBScript)
... très reposant pour les yeux.

Par contre je n'ai pas d'icône pour les .hta qui sont correctement
affectées au programme : 'Microsoft HTML Application host'
Action: Open
C:WINDOWSSystem32mshta.exe "%1" %*

** Bonne chronologie pour me permettre de mettre bout à bout
les outils de programmation à partir d'exemples qui s'enchaînent.

: > J'utilise:
: > Notepad ou Metapad pour le langage de commandes des .bat,
: > VBScript Factory pour les VbScript.
http://www.astase.com/products/?VBS%20Factory
: > Mais je n'ai pas d'autre éditeur que Notepad pour Java Script.
: ----
: Pour les batch il vaut mieux utiliser Edit.com ... surtout pour nous
: qui ne travaillons pas toujours en ascii 7bits :-)

** Une fonction méconnue de Metapad (freeware)
http://www.gratilog.net/bureautique1.htm
http://liquidninja.com/metapad/
permet de passer de ANSI à OEM (ou l'inverse) :
menu Edition > Sélectionner tout (Ctrl+A)
puis 'Convertir le texte sélectionné' >
choisir (en) Format OEM => valider ou (F11) .
choisir (en) Format ANSI => valider ou (Ctrl+F11) .

* Jean-Claude Bellamy a fait aussi 2 scripts en Vbs
http://www.bellamyjc.org/fr/divers.html#oemansi

: Sinon, pour les éditeurs de batch et de scripts il y a 2 grands acteurs
: sur le marché : PrimalScript (de Sapien) et UltraEdit.
: Vous trouverez des versions d'évaluation sur leurs sites :
: http://www.sapien.com/products.aspx (assez cher mais *très* complet)
: http://www.ultraedit.com (moins "fun" que primal script mais avec des possibilités d'édition intérresantes)

** Je garde les références, mais je pense que c'est encore un peu tôt pour
moi; Je n'ai pour l'instant que mon Word comme possible Éditeur Html.

: Vous avez aussi une kyrielle d'éditeurs gratuits dont vous trouverez des listes en recherchant sur Google.
: Dans le tas je trouve que la version Light (gratuite) de NoteTab vaut le détour :
: http://www.notetab.com/download.php

** Je vais l'essayer.

Merci Jean,
Amicalement,
Daniel.
====
1 2 3