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

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

[复制链接]
发表于 2018-1-25 10:08:52 | 显示全部楼层 |阅读模式
  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
麻烦哪位大神能解释下原因。拜谢拜谢
发表于 2018-1-25 11:58:14 | 显示全部楼层
你赋值给的变量名是!servername!里的值
 楼主| 发表于 2018-1-25 13:57:58 | 显示全部楼层
那么如何在这个情况下给变量名称赋值
发表于 2018-1-26 12:18:41 | 显示全部楼层
set !servernum!=false ×
set servernum=false   
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-18 04:46 , Processed in 0.017035 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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