Newsgroup: it.comp.os.dos
Titolo: aiuto prompt e ESC (un po' lungo)

ciao a tutti del NG vi espongo il mio problemino:
ho cercato di creare un file bat da dare ad un mio amico.
Per renderlo piu' carino ho visto sulla guida di ms-dos 5 che e'
possibile utilizzare i comandi ESC e prompt $e per poter spostare il
cursore in una posizione determinata, scrivere il testo in grassetto
ecc.
Il problema e' che non mi funzionano questi due comandi (e' meglio
dire che non sono riuscito a farli funzionare);
ho addirittura copiato, ad esempio, pari pari il seguente codice preso
dal manuale di dos in un file batch
echo off
cls
echo ESC[2;H*BenvenutoESC[2BESC[7D*nel programma*ESC[2BESC[6D*Utilità
database*ESC[12;1H(per visualizzare la guida, premere F1)
prompt $e[10;1H Immettere un comando:
quando richiamo il file otteno a schermo solo quello che e' scritto
dopo echo; ovvero
ESC[2;H*BenvenutoESC[2BESC[7D*nel programma*ESC[2BESC[6D*Utilità
database*ESC[12;1H(per visualizzare la guida, premere F1)
(una freccia verso sinistra)[10;1H Immettere un comando:
ho anche inserito nel config.sys la riga
device= c:\windows\command\ansi.sys
pensando che questo fosse il problema ma nulla da fare.
Potrei sapere dove sbaglio e come posso risolvere il mio problema?
Ringrazio tutti anticipatamente e mi scuso per la lunghezza del post.
N.B. il file dovrebbe girare su win'98

ecc.
apparte che il carattere [ESC] ... viene inteso come carattere ESCAPE
... quindi é il codice ascii 27  (una specie di <- però tutta in un
singolo carattere) hai bisogno di abilitare il driver ansi.sys ma mi
sembra che sotto win9x non é disponibile
ciao
Antonio

echo ESC[2;H*BenvenutoESC[2BESC[7D*nel programma*ESC[2BESC[6D*Utilità
Guarda che devi inserire il CARATTERE ESC non la PAROLA "ESC"!!!
Il carattere ESC ha codice 27, per cui devi inserire tale codice; peró per
farlo, ti serve un editor che te lo consenta ;-))
Da editor del DOS, devi premere CONTROL-P e poi il tasto ESC!
P.S.Tutti i messaggi inviati da OE non patchato (R:) vengono cancellati.
-- 
FORSE un virus? Accertatene! 
http://www.avp.it/
         ADOTTA ANCHE TU
Curiosita'? Prova a CERCARE! 
http://www.google.com/
              QUESTA
Informazioni utili:          
http://securfaq.usenet.eu.org
         SIGN
Per QUALUNQUE DUBBIO:        
http://www.google.com/search?q=
        :-)

sembra che sotto win9x non é disponibile
Macccheddddici??
Disponibilissimo, su w95, w98, w98SE.
Lo uso da anni!
Guarda in c:\windows\command e lo trovi (almeno, se non hai taroccato il
sistema!).
Lo metti in config.sys, e sei a posto per il resto dei tuoi giorni ;-))))


 Lo metti in config.sys, e sei a posto per il resto dei tuoi giorni ;-))))
Occhio ad avere xo' anche un antivirus attivo: "un tempo" (quando l'uso
di ansi.sys era + di moda) esistevano anche i virus "batch" che
approfittavano del fatto che dopo ESC (e non mi ricordo + quale opzione)
ci puoi mettere anche il nome di un eseguibile, con tutte le conseguenze
che puoi immaginare se questo e', x es. un simpatico "format c: /Q" (se
mi ricordo bene l'uso del "/Q")... ;-)))))
Ciao,
gc :-)

[cut]
grazie tante Big :) funziona il tutto anche con l'ESC :)))) hai
perfettamente ragione non avevo letto a fondo nel manuale del dos in
cui c'era scritto anche questo.
Comunque se leggi il mio post "rettifica al post precedente" ho detto
che scrivendo in maniera corretta nel config
device=percorso\ansi.sys 
il comando prompt $e[ funzionava correttamente e se non mi sbaglio fa
la stessa cosa di ESC[ ?
Infatti sostituendo opportunamente ESC con prompt $e[ il tutto
risultava corretto. 
Ma non mi riuscivo a capacitare, come uno stupido di quell'ESC.
Ancora grazie :)

utilizzare i comandi ESC e prompt $e per poter spostare il cursore in un
Prova il file allegato.
rem EZCOLOR.BAT
@echo OFF
@echo ANSI    FG BG
@echo Black   30 40
@echo Red     31 41
@echo Green   32 42
@echo Yellow  33 43
@echo Blue    34 44
@echo Magenta 35 45
@echo Cyan    36 46  ÚÄÄ 1 = Light
@echo White   37 47  v
Prompt $E[s$E[H$V $E[1;36;40m $D $E[1;35;40m$T$h$h$h
$E[1;33;40m$P$E[K$E[u$Q$Q$G$E[37;40m
Unisci le ultime 2 linee sovrastanti.
Ecco un altro esempio:
:*************************************************************************** 
:*                                                                         * 
:* FILE: SCREEN.BAT                                                        * 
:*                                                                         * 
:* This batch sets custom screen colors using the ANSI.SYS device driver   * 
:* in CONFIG.SYS.  It also sets up a prompt which displays the current     * 
:* directory, path, and date at the top of the screen.  Space is left for  * 
:* a clock program to display the time in the upper right corner.          * 
:*                                                                         * 
:* NOTE: This batch file may require addition DOS "Environment Space".     * 
:*       If so, include the '/E' switch within the SHELL command in your   * 
:*       CONFIG.SYS file.                                                  * 
:*                                                                         * 
:* EXAMPLE:   SHELL = C:\
COMMAND.COM
 /E:400 /P                             * 
:*                                                                         * 
:* History:                                                                * 
:*   John E. Duffy     Write custom path and date prompt to top line.      * 
:*                     (DUFFYJ @ SCRVM1)                                   * 
:*   Edgar Crisostomo  Add color settings to prompt and screen.            * 
:*                     (CRISOSTO @ SCRVM1)                                 * 
:*                                                                         * 
:* Notes:                                                                  * 
:*   1. For < DOS 3.3, delete @ in front of @echo off.                     * 
:*   2. Command line parameters must be lowercase.                         * 
:*   3. dmy: Dummy variable that tells what we are setting up next.        * 
:*           Possible values are fgc (ForeGround Color), bgc (BackGround   * 
:*           Color), tfc (TopForeGround Color), or tbc (TopBackGround      * 
:*           Color).                                                       * 
:*                                                                         * 
:*************************************************************************** 
@echo off                                                                   
 if  '%1'==''          goto explain                                          
 if  '%1'=='?'         goto explain                                          
 if  '%1'=='clear'     goto clear                                            
 set dmy=fgc                                                                 
 :LOOP                                                                       
 if  '%1'==''          goto ENDLOOP                                          
 if  '%1'=='black'     set %dmy%=0                                           
 if  '%1'=='red'       set %dmy%=1                                           
 if  '%1'=='green'     set %dmy%=2                                           
 if  '%1'=='yellow'    set %dmy%=3                                           
 if  '%1'=='blue'      set %dmy%=4                                           
 if  '%1'=='magenta'   set %dmy%=5                                           
 if  '%1'=='cyan'      set %dmy%=6                                           
 if  '%1'=='white'     set %dmy%=7                                           
    REM Get ready for next iteration                                        
    REM Must check in reverse order.                                        
 if %dmy%==tfc         set dmy=tbc                                           
 if %dmy%==bgc         set dmy=tfc                                           
 if %dmy%==fgc         set dmy=bgc                                           
 shift                                                                       
 goto loop                                                                   
                                                                              :ENDLOOP                                                                    
    REM Handle bad input (by setting some defaults)                         
 if '%fgc%'==''        set fgc=2                                             
 if '%bgc%'==''        set bgc=0                                             
 if '%tfc%'==''        set tfc=7                                             
 if '%tbc%'==''        set tbc=4                                             
 PROMPT
$e[3%TFC%;4%TBC%m$e[1m$e[s$e[f$e[K$p$e[1;52f$d$e[3%FGC%;4%BGC%m$e[u$g  set
dmy=                                                                     
set fgc=                                                                    
 set bgc=                                                                    
 set tfc=                                                                    
 set tbc=                                                                    
 goto end                                                                    
 
                                                                              :CLEAR                                                                      
PROMPT $e[44m$e[1m$e[s$e[f$e[K$p$e[1;52f$d$e[0m$e[u$g                       
 goto end                                                                    
                                                                              :EXPLAIN                                                                   s
echo.                                                                       
 echo Screen Color Customizer    -       Version 1.0                         
 echo IBM Internal Use Only      -       (DUFFYJ @ SCRVM1)                   
 echo.                                                                       
 echo.Format:                                                                
 echo     screen foregnd [ backgnd [ top foregnd [top backgnd]]]             
 echo          OR                                                            
 echo     screen clear                                                       
 echo.                                                                       
 echo     You may specify the Screen's Foreground and Background, as well    
 echo          as the Top PromptLine's Foreground and Background  Colors.    
 echo.                                                                       
 echo Example:                                                               
 echo     screen green black yellow magenta                                  
 echo.                                                                       
 echo Colors allowed:                                                        
 echo     black  red    green  magenta                                       
 echo     blue   cyan   yellow white                                         
 echo.                                                                       
 goto :EXIT                                                                  
                                                                              :END                                                                        
cls                                                                         
 :EXIT                                                                       
 echo.                                                                       
 ========================
Ed eccone un altro: 
rem  ESK.BAT
@echo off                                                                      
 echo 9-23-85   Gasich  (Dushan and Bernie)                                     
 echo----------ESK = Extended Screen and Keyboard control.                      
 echo  DOS setup for color display:                                             
 echo       On line 1:  Date, Time and default drive, red on white.             
 echo       On current line: Red letters ==> on white backr.                    
 echo                        and white letters on blue beckground.              
 mode co80                                                                      
 echo---------------------------------------------------------------------------
 echoÉÍÍÍÍÍÍÍÍÍÍÍ»ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍ» ÉÍÍÍÍÍÍÍÍ» 
ÉÍÍÍÍÍÍÍÍÍÍÍÍ»ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»  echoºSave Cursorºº31=Red
Foregr.ºÉ¹Cur.Dir.º É¹Restore Cursºº37=White Foregr. º 
echoÈÍÍÍÍÍÍÍËÍÍÍ¼º47=White BackrººÈÍÍÍÍÍÍÍÍ¼ ºÈÍÍÍÍÍÍÍÍÍÍÍÍ¼º                
º  echo        º    ÈÍÍËÍÍÍÍÍÍÍÍÍÍÍ¼º      ÉÍÍÍÍ¼       ÉÍÍÍÍÍÍ¹44=Blue
Backgrnd.º  echo      ÉÍÊ»    ÉÍÊÍÍÍÍÍ»      Ì»    ÉÊÍ»      ÉÍÍÍÊÍÍÍ» 
ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ¼  prompt $E[s$E[H$E[31;47m$D $T $P$E[K$E[u$Q$Q$G$E[37;44m                        
echo          ÈËÍ¼         ÈÍËÍÍ¼  ÈËÍ¼    ÈÍÍËÍ¼            
ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»  echo           º             º      º        
ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ¹Q produces =   º  echoÉÍÍÍÍÍÍÍÍÍÍÊ»  ÉÍÍÍÍÍÍÍÍÍÊÍÍÍ»
ÉÊÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ» ºG produces >   º  echoºGOTO 0,0   º  ºDate and
Timeº ºErase from cursor to EOLº ºTherefore: ==> º  echoÈÍÍÍÍÍÍÍÍÍÍÍ¼ 
ÈÍÍÍÍÍÍÍÍÍÍÍÍÍ¼ ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ¼ ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ¼  echo To return
to "normal prompt" issue: PROMPT                   End. D.Gasich  echo.                                                                          
Per quest'ultimo, correggilo perche' tutte le linee (eccetto quella che 
comincia con 'prompt' debbono iniziare con 'echo'.
Il programma di email taglia le righe e crea questo inconveniete. 
                                                                         Se non riesci ad editare i file. dimmelo che te li mando in mime format
--
-----------------------------------------------------------
Antonio(Nino) Scalisi           
sca...@tin.it
at 11:08(+0100, relative to GMT) on Tuesday, 08 Jan 2002
Using MR/2 ICE v2.30a  Reg: #20729.
Under ---> EcomStation + FixPACK1 + Kernel_UNI 14.086b
-----------------------------------------------------------

Ciao
mi viene da pensare che tu non abbia una riga device=c:\dos\ansi.sys nel tuo
config...
Html-man
"Chi cerca trova...Un'altra cosa"
ICQ 70825171
Visit the Html-man's site at 
http://htmlman.firenze.net