|
|
楼主 |
发表于 2011-8-19 21:16:08
|
显示全部楼层
本帖最后由 cjiabing 于 2011-8-19 22:23 编辑
终于上得网了,该死的雨。谢谢CrLF。初步结果,文本随机排序,很简短:
- @echo off
- call :sorttxt E:\Batch\练习考试\屏蔽回显.txt
- pause
- exit
- :SortTxt
- for /f "tokens=1*" %%i in ('cmd /v:on /c "@echo off&for /f "usebackq tokens^=*" %%a in ("%1") do (echo !random! %%a)"^|sort') do echo %%j
- goto :eof
复制代码
::把文本中的行(段落)打乱顺序,进行随机排序。以前我通常会用findstr /n和临时文件,好傻。
::以下用了一个cmd代替临时文件,用了两个for编辑。
::但有一个致命伤,就是代码前不能用 setlocal enabledelayedexpansion 、endlocal、disenable……——求真相!~
::大家在使用代码测试的时候,要注意看代码运行后文本中的行是否变化了,变化了的是成功的,都都没有变化的是失败的。
::原因可能是你在开头使用了变量延迟。 |
|