Batch file 使用Mode命令调整命令提示符的大小将清除整个屏幕

Batch file 使用Mode命令调整命令提示符的大小将清除整个屏幕,batch-file,cmd,Batch File,Cmd,因此,我尝试编写代码来生成随机字符,我想让屏幕始终保持相同的大小,但当我尝试使用mode命令时,它会清除所有文本,或者可以调用整个屏幕 代码如下: :startprg mode con: cols=120 lines=24 setlocal EnableDelayedExpansion set char=abcdeijklmnstuvwxyzABCDETUVYZ23456789^^%%_`^^%%_`^^%%_`^^%%_`^^%%_`☺☻♥♦♣♠◘•○☺☻♥♦♣♠◘♂♀q7•-6○Z♂n¡*

因此,我尝试编写代码来生成随机字符,我想让屏幕始终保持相同的大小,但当我尝试使用mode命令时,它会清除所有文本,或者可以调用整个屏幕 代码如下:

:startprg
mode con: cols=120 lines=24
setlocal EnableDelayedExpansion

set char=abcdeijklmnstuvwxyzABCDETUVYZ23456789^^%%_`^^%%_`^^%%_`^^%%_`^^%%_`☺☻♥♦♣♠◘•○☺☻♥♦♣♠◘♂♀q7•-6○Z♂n¡*     /*-+@#$*()_=-=+       
set count=0
set hla=0

:Number
set hla=120

set /a length=-1 + !hla!

:Loop
set /a count+=1
set /a rand=%Random%%%61
set buffer=!buffer!!char:~%rand%,1!
if !count! leq !length! goto Loop

title ^!buffer!
echo ^!buffer!
set /a length+=1

endlocal
goto startprg

请帮助我,我使用的是Windows 10,我不知道如何解决此问题,当前每次您
转到:startprg
设置模式时。只需将标签移动到after
模式con:
即可启动一次。因此,它应该是:

@echo off
mode con: cols=120 lines=24
:startprg
setlocal EnableDelayedExpansion
因此,完整代码如下所示:

@echo off
mode con: cols=120 lines=24

:startprg
setlocal EnableDelayedExpansion

set char=abcdeijklmnstuvwxyzABCDETUVYZ23456789^^%%_`^^%%_`^^%%_`^^%%_`^^%%_`☺☻♥♦♣♠◘•○☺☻♥♦♣♠◘♂♀q7•-6○Z♂n¡*     /*-+@#$*()_=-=+       
set count=0
set hla=0

:Number
set hla=120

set /a length=-1 + !hla!

:Loop
set /a count+=1
set /a rand=%Random%%%61
set buffer=!buffer!!char:~%rand%,1!
if !count! leq !length! goto Loop

title ^!buffer!
echo ^!buffer!
set /a length+=1

endlocal
goto startprg