找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 5062|回复: 0

[数值计算] 公司人员抽奖.bat

[复制链接]
发表于 2025-5-3 22:04:06 | 显示全部楼层 |阅读模式
先上代码,,,,,,,,,,,
  1. @Echo off

  2. Set "文件路径=C:\Users\Administrator\Desktop\润人名单.txt"

  3. IF NOT EXIST "%文件路径%" Echo.找不到名单列表,按任意键退出!& Pause>Nul & Exit
  4. IF EXIST %TEMP%\name_bak.txt del /q /s %TEMP%\name_bak.txt >Nul
  5. For /f "delims=" %%i in ('Type "%文件路径%"') do ( If Not "%%i"=="" echo.%%i>>%TEMP%\name_bak.txt )
  6. For /f  %%a in ('Type "%TEMP%\name_bak.txt" ^|Find "" /V /C' ) do ( Set h=%%a )

  7. Set/p 抽奖次数=请输入要抽奖名额:
  8. If "%抽奖次数%"=="" Cls & Echo.没有输入抽奖名额,按任意键退出!& Pause>Nul & Exit
  9. if %抽奖次数% gtr %h% Cls &  Echo.错误,大于名单人数,按任意键退出!& Pause>Nul & Exit

  10. Cls
  11. :循环
  12. Call,:数检
  13. Set/a 循环次数+=1
  14. Set "查重=%查重% %R%"
  15. For /f "tokens=1,2,* delims=:" %%a in ('FindStr /N /O ".*" %TEMP%\name_bak.txt ^| FindStr /B "\<%R%:"') do ( Echo.%%c )
  16. If not "%抽奖次数%"=="%循环次数%" goto,循环
  17. Echo.&Echo.抽奖完毕,按任意键退出!
  18. Pause>Nul
  19. IF EXIST %TEMP%\name_bak.txt del /q /s %TEMP%\name_bak.txt >Nul & Exit
  20. :数检
  21. Set "R=%RANDOM%"
  22. if %R% lss 1 Goto,数检
  23. if %R% gtr %h% Goto,数检
  24. @ECHO %R% | FINDSTR /I "%查重%" >NUL 2>NUL&&GOTO,数检
  25. Goto,:eof
复制代码
此前发表过《批处理版双色球幸运抽奖(新改版)》...
http://www.bathome.net/thread-70810-1-2.html

根据思路改写成  公司人员抽奖.bat  ,,,,

一般公司里的人员名单在HR哪里都有个 Excel 表。只要复制 纵列人员名字,粘贴到本文 ASNI编码保存,
修改路径
  1. Set "文件路径=C:\Users\Administrator\Desktop\润人名单.txt"
复制代码
即可!
鄙人所在单位 百来几十号人,年底都是实物卡片抽十来号人奖励,
身为小部门主管。鄙人也可以在部门内随时办一个 无纸化 抽奖,来决定哪几个倒霉蛋留下来加班,,,哈哈。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-17 05:58 , Processed in 0.016905 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表