批处理按要求将字符串分段输出的实现代码
一、要求用批处理随机输出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 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: 复制代码 代码如下: @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@#
Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved 地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008 电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134 《中华人民共和国增值电信业务经营许可证》闽B2-20100024 ICP备案:闽ICP备05037997号
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 |
|||||
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |