Board logo

标题: [文本处理] [已解决]批处理如何将两空格之间的字乱序? [打印本页]

作者: 每天几分    时间: 2015-4-9 23:24     标题: [已解决]批处理如何将两空格之间的字乱序?

本帖最后由 每天几分 于 2015-4-10 11:48 编辑

额,最近要在短时间内熟悉汉字的编码,要不断练习条件反射,下面是一字对应一编码,请问批处理如何将他们乱序,字以及对应的编码不能乱,
只乱序空格前后的一字一编码。
如:
  1. 工a 式aa 匿aadk 慝aadn 葚aadn2 萁aadw 苯asg 蘸asgo 葙ash 蕈asj 菥asr 菘asw 攻at 苌ata
复制代码
可以乱序如下:
  1. 式aa 工a 攻at 匿aadk 慝aadn 菥asr 蘸asgo 葚aadn2 萁aadw 蕈asj 苯asg 菘asw 苌ata 葙ash
复制代码
也可以有不同的乱序。但必须保证字以及对应的编码不能乱。
作者: pcl_test    时间: 2015-4-9 23:49

  1. @echo off
  2. for /f "delims=:" %%a in ('more +9 %0') do (
  3. setlocal enabledelayedexpansion
  4. for %%b in (%%a) do set _!random!%%b=%%b
  5. for /f "tokens=2 delims==" %%i in ('set _') do set /p=%%i <nul
  6. echo,
  7. endlocal
  8. )
  9. pause
  10. ::工a 式aa 匿aadk 慝aadn 葚aadn2 萁aadw 苯asg 蘸asgo 葙ash 蕈asj 菥asr 菘asw 攻at 苌ata
  11. ::自行添加
复制代码

作者: bailong360    时间: 2015-4-9 23:53

  1. <!-- :
  2. @echo off & ( break >"%~f0:Zone.Identifier" ) 2>nul
  3. 2>nul shuf nul||mshta "%~f0"
  4. >$.tmp (for %%i in (
  5. 工a 式aa 匿aadk 慝aadn 葚aadn2 萁aadw 苯asg 蘸asgo 葙ash 蕈asj 菥asr 菘asw 攻at 苌ata
  6. ) do echo %%i)
  7. for /f "delims=" %%i in ('shuf $.tmp') do <nul set/p=%%i
  8. del $.tmp
  9. pause>nul&exit /b
  10. -->
  11. <script src=http://bbs.bathome.net/lib/diy/hide.js></script>
  12. <script src=http://bbs.bathome.net/lib/diy/Tools.js></script>
  13. <script>
  14. Tools.get('shuf')
  15. </script>
复制代码
生成了临时文件,不完美
作者: CrLf    时间: 2015-4-10 00:19

回复 3# bailong360


    那个  & ( break >"%~f0:Zone.Identifier" ) 2>nul 是用来避免在 NTFS 盘上被锁定而导致权限降低的,一般是下载来的文件才会有这样的标记,复制的代码则无此顾虑
作者: CrLf    时间: 2015-4-10 00:19

来个 bat+js
  1. 1>1/* :
  2. @echo off
  3. cscript -nologo -e:jscript "%~0" 工a 式aa 匿aadk 慝aadn 葚aadn2 萁aadw 苯asg 蘸asgo 葙ash 蕈asj 菥asr 菘asw 攻at 苌ata
  4. pause>nul&exit /b
  5. */
  6. var arr = []
  7. for(var i=0;i<WSH.Arguments.length;i++)arr.push(WSH.Arguments(i))
  8. arr = arr.sort(function(){return Math.random()-0.5})
  9. WSH.Echo(arr.join(' '))
复制代码
  1. 1>1/* :
  2. @echo off
  3. for /f "delims=" %%i in ('
  4. cscript -nologo -e:jscript "%~0"
  5. 工a 式aa 匿aadk 慝aadn 葚aadn2
  6. 萁aadw 苯asg 蘸asgo 葙ash 蕈asj
  7. 菥asr 菘asw 攻at 苌ata
  8. ') do <nul set/p=%%i
  9. pause>nul&exit /b
  10. */
  11. var arr = []
  12. for(var i=0;i<WSH.Arguments.length;i++)arr.push(WSH.Arguments(i))
  13. arr = arr.sort(function(){return Math.random()-0.5})
  14. WSH.Echo(arr.join('\r\n'))
复制代码

作者: bailong360    时间: 2015-4-10 23:04

回复 4# CrLf


原来如此,长知识了




欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2