本帖最后由 pcl_test 于 2015-3-2 22:13 编辑
回复 4# kofbld
递归容易绕晕,代码可以写成5楼cobat的,这样容易理解- @echo off
- for /f "delims=" %%i in (test.txt) do call echo %%random:~-1%%%%random:~-1%% #%%i >>1.txt
- ::%random%返回一个0~32767之间的随机整数,%random:~-1%截取%random%返回的随机整数的最后一位,也就是0~9的其中一个
- ::%random:~-1%%random:~-1%,组合返回一个00~99之间的随机整数,因为for,用call开启变量延迟,要用%%random%%
- ::整句就是在test.txt每行行头添加一个00~99之间的随机整数,并用空格和#与原来的内容分隔,查看1.txt
- for /f "tokens=2 delims=#" %%a in ('type "1.txt" ^|sort') do echo %%a >>result.txt
- ::type "1.txt" ^|sort显示1.txt的内容并以每行的第一个字符为主以从0至9的顺序重新排序,|的作用是将第一条命令的结果作为第二条命令的参数来使用,^是转义符
- ::type "1.txt" ^|sort也可以直接用sort "1.txt"
- ::delims=#的作用就是以空格和#作为分隔符,将排序好的内容分成“两位数字+原来的内容”两部分,tokens=2表示取第二部分,也就是原来的内容,改成tokens=1,则是取两位数字
- pause
复制代码
|