当前位置 主页 > 实用记录 >

    BAT 随机打乱TXT文本实例

    栏目:实用记录 时间:2019-01-24 01:12


    for /f "delims=" %%i in (xxx.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>>随机.txt
    ::type "1.txt" ^|sort显示1.txt的内容并以每行的第一个字符为主以从0至9的顺序重新排序,|的作用是将第一条命令的结果作为第二条命令的参数来使用,^是转义符
    ::type "1.txt" ^|sort也可以直接用sort "1.txt"
    ::delims=#的作用就是以空格和#作为分隔符,将排序好的内容分成“两位数字+原来的内容”两部分,tokens=2表示取第二部分,也就是原来的内容,改成tokens=1,则是取两位数字