[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
回复 4# smss


    你这个和一楼的结果是不一样的< 应该是把所有的用户数读3行,输出,再读所有用户的另外3行,再。。。
1

评分人数

    • Rasm: 感谢支持技术 + 1
QQ: 己阵亡
脚本优先 [PowerShell win10]

TOP

回复 7# went


    如果各用户的行数不一致,并不是所有的都6行的话,这个脚本输出不正确。
QQ: 己阵亡
脚本优先 [PowerShell win10]

TOP

回复 6# flashercs


    发现 这个也是要求各用户数的行数要一致,否则输出不正确,某个用户数会连续超过3行。
QQ: 己阵亡
脚本优先 [PowerShell win10]

TOP

本帖最后由 xczxczxcz 于 2020-5-26 13:15 编辑

bat 版 不按一楼的顺序  大文件不知内存会不会爆
  1. @echo off  & cd /d "%~dp0"
  2. SetLocal EnableDelayedExpansion
  3. for /f "delims=" %%a in ('type ".\1.txt"^|sort') do (
  4. for /f "tokens=1 delims=-" %%b in ("%%a") do (
  5. if not defined \%%b (
  6. set /a n=1, m=1
  7. set "\%%b=%%b"
  8. ) else (
  9. set /a n+=1, mod=!n! %% 3
  10. if !mod! equ 0 set /a m+=1
  11. )
  12. set "##!m!#%%a=%%a"
  13. )
  14. )
  15. (for /f "tokens=2 delims==" %%a in ('set ##') do echo %%a)>2.txt
复制代码
QQ: 己阵亡
脚本优先 [PowerShell win10]

TOP

powershell 版
  1. $g = (gc '.\1.txt') | Group { $_ -replace '-.*$' };
  2. $(for ($i = 0; $i -lt ($g | sort { $_.Count } | select -last 1).Count; $i += 3) {$g | % { $_.Group[$i..($i + 2)] }}) | sc '.\2.txt' -force;
复制代码
QQ: 己阵亡
脚本优先 [PowerShell win10]

TOP

回复 13# Gin_Q


    你写个 PY 的 我写个纯PS的,看 PS 快 还 PY 快。 都用字典写
QQ: 己阵亡
脚本优先 [PowerShell win10]

TOP

回复 15# Gin_Q


    不是熟不熟的问题, 纯PS 体质上 就比 PY 快些,都是脚本语言,PY 就是少打点字,少些括号,被国内媒体炒做太夸张。不如多点时间去学习 汇编/C系列/JAVA/Delphi等。
QQ: 己阵亡
脚本优先 [PowerShell win10]

TOP

返回列表