本帖最后由 batman 于 2012-12-28 17:23 编辑
- @echo off
- for /f "delims=" %%a in ('dir /a-d /b *.txt') do (
- setlocal enabledelayedexpansion
- rem 取得当前文本的总行数n,并将各行随机乱序赋值给变量_!random!_!n!
- for /f "usebackq delims=" %%b in ("%%a") do set /a n+=1&set "_!random!_!n!=%%b"
- rem a的值就是随机取的行数,这里是随机生成的0<并<=n的值
- set /a a=!random!%%n+1
- (for /f "tokens=1* delims==" %%b in ('set _') do (
- set /a m+=1
- if !m! leq !a! echo,%%c
- ))>%%~na_new.txt
- endlocal
- )
-
复制代码
|