SoFunction
Updated on 2025-04-07

Implementation code for batch processing to output strings in segments as required

1. It is required to randomly output 200 characters into one line in batches, and the content is the same as follows:
 
Code:
xh45q3ma+remgofm54sevhrna4g5r8pl9cjardezqjwj3m8itamh0a4itzd6jz8cmrfmibmhr0wmccyb8qnp2qh4rvlwff6yr2ez4eo063u6viy7ppw+nzxaxe8vrm190eei_0dwx5e2kxbds-ae6e96c9_i9glw8mz+uf6uienx9od8bktfnjlwlqu-e1rcj33_+4bz
2. It is required to use batch processing to output the content into a paragraph of 10 characters, such as the following two forms:
Output in one line:
 
Code:
xh45q3ma+r emgofm54se vhrna4g5r8 pl9cjardez qjwj3m8ita mh0a4itzd6 jz8cmrfmib mhr
0wmccyb 8qnp2qh4rv lwff6yr2ez 4eo063u6vi y7ppw+nzxa xe8vrm190e ei_0dwx5e2 kxbds-
ae6e 96c9_i9glw 8mz+uf6uie nx9od8bktf njlwlqu-e1 rcj33_+4bz
Branch output:
 
Code:
xh45q3ma+r
emgofm54se
vhrna4g5r8
pl9cjardez
qjwj3m8ita
mh0a4itzd6
jz8cmrfmib
mhr0wmccyb
8qnp2qh4rv
lwff6yr2ez
4eo063u6vi
y7ppw+nzxa
xe8vrm190e
ei_0dwx5e2
kxbds-ae6e
96c9_i9glw
8mz+uf6uie
nx9od8bktf
njlwlqu-e1
rcj33_+4bz
----------------------------------------------------------------------------------------------------------------------------------------------------
Requirements: The code is efficient, universal, concise, and does not generate temporary files
ps: Please leave this question to beginners

more:
Copy the codeThe code is as follows:

@echo off
Setlocal Enabledelayedexpansion
set "str=abcdefghijklmnopqrstuvwxyz1234567890+-_"
for /l %%a in (1 1 200) do (
set /a "m=!random!%%39"
call set "var1=%%var1%%%%str:~!m!,1%%"
)
set "var=%var1%"
for /l %%a in (1 1 20) do (
set "var2=!var:~,10!"
set /p =!var2! <NUL
set "var=!var:~10!"
)
echo.&echo.&set "var=%var1%"
for /l %%a in (1 1 20) do (
set "var2=!var:~,10!"
echo.!var2!
set "var=!var:~10!"
)
pause>nul

 

shqf:
Copy the codeThe code is as follows:

@echo off
set /p str=<
set /p select=1. Display sections within a line 2. Display branch (please select 1-2):
if %select% equ 2 goto fh

:fj
set /p=%str:~,10% <nul
if not "%str:~10%"=="" (set str=%str:~10%&goto fj)
pause>nul&goto end

:fh
echo %str:~,10%
if not "%str:~10%"=="" (set str=%str:~10%&goto fh)
pause>nul

 

terse:
Copy the codeThe code is as follows:

@echo off&Setlocal Enabledelayedexpansion
set "var=abcdefghijklmnopqrstuvwxyz1234567890+-_"
for /l %%i in (1 1 200) do set /a "m=!random!%%39"&call set str=!str!%%var:~!m!,1%%
> echo %str%
for /l %%i in (1 1 20) do set /p=!str:~,10! <nul&set "%%i=!str:~,10!"&set "str=!str:~10!"
echo.
for /l %%i in (1 1 20) do echo.!%%i!
pause>nul

 

pusofalse:
Copy the codeThe code is as follows:

@echo off&setlocal enabledelayedexpansion
set var=abcdefghijklmnopqrstuvwxyz0123456789+-_
for /l %%a in (1 1 200) do (
set/a n=!random!%%39
call,set a=!a!%%var:~!n!,1%%
)
echo %a%&pause>nul&echo.
:lp
for /l %%i in (0 10 190) do if not defined b (set/p=!a:~%%i,10! <nul) else echo !a:~%%i,10!
if not defined b set b=b&pause>nul&echo.&echo.&goto lp
pause

 

inittab:
Copy the codeThe code is as follows:

@echo off&setlocal enabledelayedexpansion
set "str=1234567890abcdefghijklmnopqrstuvwxyz@#$_+-"
for /l %%i in (0,1,199) do (
set/a ran=!random!%%42&call set "st=!st!%%str:~!ran!,1%%"
)
echo whole line output: !st!&echo.&echo column output:
for /l %%j in (0,10,190) do (
set /a m=%%j
call set "st1=!st1!%%st:~!m!,10%% "
call echo %%st:~!m!,10%%
)
echo.&echo segmented output: !st1!
pause

 

netbenton:
Copy the codeThe code is as follows:

@echo off&setlocal enabledelayedexpansion
set "str=1234567890abcdefghijklmnopqrstuvwxyz@#$_+-"
for /l %%i in (0,1,199) do set/a ran=!random!%%42&for %%a in (!ran!) do set "st=!st!!str:~%%a,1!"
echo whole line output: !st!&echo.&echo column output:
for /l %%j in (0,10,190) do echo !st:~%%j,10!&set "st1=!st1!!st:~%%j,10! "
echo.&echo segmented output: !st1!
pause

 

bathman:
Copy the codeThe code is as follows:

@echo off
rem randomly generates 200 characters
set "var=abcdefghijklnmopqrstuvwxyz0123456789+_/-"
:begin
set /a a=%random%%%40,n+=1
call,set "str=%str%%%var:~%a%,1%%"
if %n% neq 200 goto begin
rem outputs in segments within a line
:lp
set /a m+=1
set /p=%str:~,10% <nul&set "_%m%=%str:~,10%"
set "str=%str:~10%"
if defined str goto lp
rem branch outputs segmented characters
echo.&echo.&for /l %%i in (1,1,%m%) do call,echo %%_%%i%%
pause>nul