我要把文本内容随即乱序 比如:
a
b
o
q
运行这个批处理命令后会变成
q
b
o
a
我现在有一个能用的命令,可以实现随即乱序
@echo off
::说明----将文本中的所有内容无规则打乱顺序排列
@echo off
if "%1" neq "$" (
for /f "tokens=2 delims=#" %%a in ('"%~0" $^|sort') do echo %%a
pause>nul
) else for /f "delims=" %%i in (test.txt) do call echo %%random:~-1%%%%random:~-1%% #%%i
但是出来的结果只有299行,我一个文本里有好几万行,这显然不够,请问怎么把结果扩大?
好用加分!
测试了1001行没有问题:
@echo off
::说明----将文本中的所有内容无规则打乱顺序排列
@echo off
if "%1" neq "$" (
for /f "tokens=2 delims=#" %%a in ('"%~0" $^|sort') do echo.%%a >>结果.txt
pause>nul
) else for /f "delims=" %%i in (test.txt) do call echo %%random%%%%random%%0001 #%%i
这个是取出第五行的 你修改以下就可以了
@echo off
set num=0
setlocal enabledelayedexpansion
for /f "delims=" %%i in (123.txt) do (
set /a num+=1
set str=%%i
if !num! equ 5 echo !str!
)
pause