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

[其他] 请问这段代码的问题在哪!

  1. @echo off&setlocal enabledelayedexpansion
  2. :fenpei
  3. set serverst=101
  4. set serverend=130
  5. set vdisk=e:\ttt
  6. set wdisk=e:\work
  7. cd /d e:\work
  8. for %%a in (*.txt) do (
  9. for /l %%b in (%serverst%,1,%serverend%) do (
  10. set servernum=win%%b
  11. echo servernum=!servernum!
  12. if not "!servernum!"=="false" (
  13. if not exist \\!servernum!\work\nook.txt (
  14. echo %date%%time%发现!servernum!空闲!分配任务!kkk:~0,-4!
  15. set !servernum!=false
  16. echo !servernum!
  17. copy %vdisk%\run\1.txt \\!servernum!\work\nook.txt >nul
  18. echo ERRORLEVEL=!errorlevel!
  19. if !errorlevel! equ 0 (copy %vdisk%\run\1.txt \\!servernum!\work\!kkk:~0,-4!.txt >nul) else (set !winservernum!=false&&echo %date%%time%服务器:!servernum!无法连接,放弃对此机发送指令!)
  20. del /q %wdisk%\server\ready\!kkk:~0,-4!.txt 2>nul
  21. timeout -t 10
  22. goto fenpei
  23. )
  24. )
  25. )
  26. )
  27. for /l %%a in (%serverst%,1,%serverend%) do (
  28. echo !win%%a!
  29. )
  30. pause
复制代码
这段代码的问题我自己觉得莫名其妙
首先,set !servernum!=false。但是echo !servernum!仍然是win101
其次,copy %vdisk%\run\1.txt \\!servernum!\work\nook.txt >nul肯定不能成功,但!errorlevel!值却是0
麻烦哪位大神能解释下原因。拜谢拜谢

你赋值给的变量名是!servername!里的值

TOP

那么如何在这个情况下给变量名称赋值

TOP

set !servernum!=false ×
set servernum=false   

TOP

返回列表