手机
当前位置:查字典教程网 >脚本专栏 >DOS/BAT >批处理按要求将字符串分段输出的实现代码
批处理按要求将字符串分段输出的实现代码
摘要:一、要求用批处理随机输出200个字符到1.txt中的一行,内容类同如下:代码:xh45q3ma+remgofm54sevhrna4g5r8p...

一、要求用批处理随机输出200个字符到1.txt中的一行,内容类同如下:

代码:

xh45q3ma+remgofm54sevhrna4g5r8pl9cjardezqjwj3m8itamh0a4itzd6jz8cmrfmibmhr0wmccyb8qnp2qh4rvlwff6yr2ez4eo063u6viy7ppw+nzxaxe8vrm190eei_0dwx5e2kxbds-ae6e96c9_i9glw8mz+uf6uienx9od8bktfnjlwlqu-e1rcj33_+4bz

二、要求用批处理将1.txt中的内容按10个字符为一段输出如下面两种形式:

在一行内输出:

代码:

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

分行输出:

代码:

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

----------------------------------------------------------------------------------------------------------------------------------------------------

要求:代码高效、通用、简洁、不产生临时文件

ps:请老手们将本题留给新手完成

more:

复制代码 代码如下:

@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:

复制代码 代码如下:

@echo off

set /p str=<1.txt

set /p select=1.一行内分节显示2.分行显示(请选择1-2):

if %select% equ 2goto 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:

复制代码 代码如下:

@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%%

>1.txt 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:

复制代码 代码如下:

@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:

复制代码 代码如下:

@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 整行输出: !st!&echo.&echo 分列输出:

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 分段输出: !st1!

pause

netbenton:

复制代码 代码如下:

@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 整行输出: !st!&echo.&echo 分列输出:

for /l %%j in (0,10,190) do echo !st:~%%j,10!&set "st1=!st1!!st:~%%j,10! "

echo.&echo 分段输出: !st1!

pause

bathman:

复制代码 代码如下:

@echo off

rem 随机生成200个字符

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 在一行内分段输出

:lp

set /a m+=1

set /p=%str:~,10% <nul&set "_%m%=%str:~,10%"

set "str=%str:~10%"

if defined str goto lp

rem 分行输出分段后字符

echo.&echo.&for /l %%i in (1,1,%m%) do call,echo %%_%%i%%

pause>nul

【批处理按要求将字符串分段输出的实现代码】相关文章:

批处理 字符串去空格实现代码[不同部位]

使用批处理删除HOSTS中特定内容的行的代码

用批处理程序修改 计算机名 工作组 计算机描述的代码

用批处理查找字符数最多的文本行的代码

批处理写的电视机效果代码

批处理读取注册表中run下面的值的代码

批处理 保留空行替换字符串

批处理 删除重复行的代码

批处理 添加隐藏用户代码

让批处理被wsh解析的代码

精品推荐
分类导航