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

[文本处理] 求助,随机数批处理for /f +变量的问题,闪退

  1. @echo off
  2. setlocal enabledelayedexpansion
  3. set a=012345789ABCDEF
  4. set /a b=%random%%%14+1
  5. set /a c=%random%%%14+1
  6. set /a d=%random%%%14+1
  7. set /a e=%random%%%14+1
  8. set /a f=%random%%%14+1
  9. set /a g=%random%%%14+1
  10. set /a h=%random%%%14+1
  11. set /a i=%random%%%14+1
  12. set /a j=%random%%%14+1
  13. set /a k=%random%%%14+1
  14. set /a l=%random%%%14+1
  15. set /a m=%random%%%14+1
  16. set name32=12345678901234567890!a:~%b%,1!!a:~%c%,1!!a:~%d%,1!!a:~%e%,1!!a:~%f%,1!!a:~%g%,1!!a:~%h%,1!!a:~%i%,1!!a:~%j%,1!!a:~%k%,1!!a:~%l%,1!!a:~%m%,1!
  17. set /a aa=%random%%%10+1
  18. set /a bb=%random%%%10+1
  19. set /a cc=%random%%%10+1
  20. set /a dd=%random%%%10+1
  21. set proccessId=%aa%%bb%%cc%%dd%
  22. set /a n1=%random%%%2+1
  23. set /a n9=%random%%%10+1
  24. set /a n5=%random%%%5+1
  25. set createDate=2015%today%%n1%%n9%%n5%%n9%%n5%%n9%
  26. echo.随机32位!name32!
  27. echo.随机日期!createDate!
  28. echo.随机4位数!proccessId!
  29. set today=%date:~5,2%%date:~8,2%
  30. set "muji=E:\ProgramData\Windroye\Windroye_4E513D9BC016A2AADA0CF6F6426390EB"
  31. pause
  32. for /l %%i in (1 1 2) do (
  33. xcopy /a /s /y "!muji!\*.*" "E:\Windroye_!name32!"
  34. (echo,   <host>
  35. echo,    <name>!today!%%i</name>
  36. echo,    <vdiPath>E:\ProgramData</vdiPath>
  37. echo,    <vbName>Windroye_!name32!</vbName>
  38. echo,    <createDate>!createDate!</createDate>
  39. echo,    <defStart>0</defStart>
  40. echo,    <proccessId>!proccessId!</proccessId>
  41. echo,   </host> )^>>MutiConfig.xml
  42. )
  43. echo <VitualMachine>^>>MutiConfig.xml
  44. pause
复制代码

到for 就闪退了.怎么破?>

TOP

本帖最后由 B魔方大人 于 2015-11-16 20:37 编辑

替换
(echo,   ^<host^>
echo,    ^<name^>!today!%%i^</name^>
echo,    ^<vdiPath^>E:\ProgramData^</vdiPath^>
echo,    ^<vbName^>Windroye_!name32!^</vbName^>
echo,    ^<createDate^>!createDate!^</createDate^>
echo,    ^<defStart^>0^</defStart^>
echo,    ^<proccessId^>!proccessId!^</proccessId^>
echo,   ^</host^> >>MutiConfig.xml
)
echo ^<VitualMachine^>>>MutiConfig.xml

TOP

回复 3# B魔方大人


    echo,   ^<host^> >>MutiConfig.xml
echo,    ^<name^>!today!%%i^</name^> >>MutiConfig.xml
echo,    ^<vdiPath^>E:\ProgramData^</vdiPath^> >>MutiConfig.xml
echo,    ^<vbName^>Windroye_!name32!^</vbName^> >>MutiConfig.xml
echo,    ^<createDate^>!createDate!^</createDate^> >>MutiConfig.xml
echo,    ^<defStart^>0^</defStart^> >>MutiConfig.xml
echo,    ^<proccessId^>!proccessId!^</proccessId^> >>MutiConfig.xml
echo,   ^</host^> >>MutiConfig.xml
)
echo ^<VitualMachine^> >>MutiConfig.xml
替换后,MutiConfig.xml修改前的内容被清光了.不能用了.哪里出问题

TOP

返回列表