2017-08-31 1 views
-1

Je courais les lignes suivantes,Comment utiliser la ligne de commande CLS en clair pour supprimer uniquement deux lignes au-dessus?

@echo off 
echo hi 
echo hello 
echo bye 
pause 
cls 
echo welcome 
echo once again 
pause 
sortie

,

hi 
hello 
bye 
press any key to continue... 
sortie

après avoir appuyé sur la touche,

welcome 
once again 
press any key to continue... 

résultat attendu après avoir appuyé sur la touche,

Hi 
Welcome 
once again 
press any key to continue... 

signifie, mon besoin ne comprend pas Salut. Mon besoin est de savoir comment effacer seulement au-dessus de deux lignes, au lieu d'effacer tout l'écran en utilisant cls .. seulement bonjour et au revoir (au-dessus de deux lignes) doivent effacer au lieu d'effacer tout l'écran.

Ce n'est pas un programme original, c'est juste pour expliquer et exemple pour montrer mon concept et besoin. J'espère que je vous ai fait comprendre mon prblm .. S'il vous plaît aider

+0

avec Windows 10, [ANSI est de retour] (https://docs.microsoft.com/en-us/windows/console/console-virtual- séquences-terminales) – Stephan

Répondre

0

Le lot ordinaire ne supporte pas cela.

À l'exception des versions récentes de Windows 10 qui ont réintroduit Ansi Escape Sequences.
Félicitations à Stephan pour le lien.

:: Q:\Test\2017\08\31\SO_45979664.cmd 
:: 
@echo off 
echo hi 
echo hello 
echo bye 
pause 
Echo esc[3Fesc[2Kesc[2Kwelcome 
echo once again 
pause 

Le esc dans le texte ci-dessus doit être remplacé par le caractère Ctrl-Z (se perd coller ici).

Cela dépend de votre éditeur comment entrer ESC/Ctrl-Z/027/0x1b,
dans Notepad ++ par exemple Alt +
dans Textpad Ctrl + * (numpad), z

  • esc [3F goto première colonne 3 lignes vers le haut (y compris pause mes sage)
  • esc [2K supprimer une ligne