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

[文本处理] [已解决]三个随机数文本的行字符,组合为名字的批处理?

1.txt
复制代码
2.txt
复制代码
3.txt
复制代码
抄写的77七批处理
http://www.bathome.net/viewthread.php?tid=66385&highlight=
早晨.bat
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. for /f "delims=" %%a in ('type "早晨.txt"') do (
  4. set /a n+=1
  5. set "#!n!=%%a"
  6. )
  7. set /a m=%random% %% %n% + 1
  8. echo !#%m%!
  9. endlocal
  10. pause
复制代码
改为
姓名.bat
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. :0
  4. for /f "delims=" %%a in ('type "1.txt"') do (
  5. for /f "delims=" %%b in ('type "2.txt"') do (
  6. for /f "delims=" %%c in ('type "3.txt"') do (
  7. set /a n+=1
  8. set "#!n!=%%a%%b%%c"
  9. )))
  10. set /a m=%random% %% %n% + 1
  11. echo !#%m%!
  12. pause
  13. goto:0
  14. endlocal
  15. pause
  16. 孙立国
  17. 请按任意键继续. . .
  18. 孙建家
  19. 请按任意键继续. . .
  20. 赵立星
  21. 请按任意键继续. . .
复制代码
但是这种随机叠加的批处理太慢了,求加快速度的批处理。
1

评分人数

    • Batcher: 感谢给帖子标题标注[已解决]字样PB + 2

本帖最后由 zzz19760225 于 2025-4-18 20:04 编辑

感谢两位解答。
请问,如果要调用的话,需要怎么写啊
我这写的不能正常运行,用通义问的结果也无法正常运行,都是系统找不到for开始三个字。
  1. @echo off
  2. :0
  3. set /p nc=:
  4. if exist %nc% (set a=%nc%) else (call:1)
  5. echo:%a%
  6. goto:0
  7. pause&exit
  8. :1
  9. setlocal enabledelayedexpansion
  10. set "n1=1" &for /f "delims=," %%v in (张,王,赵,李,钱) do set/a "n1+=1"&set "_1!n1!=%%v"
  11. set "n2=1" &for /f "delims=," %%v in (中,华,富,强) do set/a "n2+=1"&set "_2!n2!=%%v"
  12. set "n3=1" &for /f "delims=," %%v in (万,世,太,平) do set/a "n3+=1"&set "_3!n3!=%%v"
  13.    set/a a=%random%%%!n1!+1
  14.    set/a b=%random%%%!n2!+1
  15.    set/a c=%random%%%!n3!+1
  16.    set z=!_1%a%!!_2%b%!!_3%c%!
  17. set a=!z!
  18. exit/b
  19. :1
  20. 系统找不到文件 张。
  21. 系统找不到文件 中。
  22. 系统找不到文件 万。
  23. :
复制代码

TOP

本帖最后由 zzz19760225 于 2025-4-19 16:10 编辑

回复 5# aloha20200628
  1. @echo off
  2. set a=1
  3. echo:1:%a%
  4. setlocal enabledelayedexpansion
  5. set a=2
  6. echo:2:!a!
  7. endlocal
  8. echo:3:!a!
  9. echo:4:%a%
  10. pause&exit
  11. 1:1
  12. 2:2
  13. 3:!a!
  14. 4:1
  15. 请按任意键继续. . .
复制代码
请问大佬,变量延迟的局部变量值echo:2:!a!,如何转化为全局环境变量值呢?

TOP

返回列表