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

[系统相关] 批处理判断机器名为何出错?

  1. @echo off
  2. for %%i in (pc234,pc141) do if %computername%==%%i goto list1
  3. :list1
  4. call c:\1.txt
  5. pause
复制代码


不管机器名符合不符合都会执行list1

执行正确跳转到list1
执行不正确接着执行以下的语句,也会打开文本文档的
@echo off
for %%i in (pc234,pc141) do if %computername%==%%i goto list1
exit
:list1
call c:\1.txt
pause

TOP

一行就行了
for %%i in (pc234,pc141) do if %computername%==%%i call c:\1.txt

TOP

我把一行代码贴到CMD下运行,为什么会提示 此时不应有%%i 呢。 直接运行BAT文件就没有这个提示。不知道什么原因。
C:\>for %%i in (pc234,pc141) do if %computername%==%%i call c:\1.txt
此时不应有 %%i。

TOP

哈。cmd下运行需要把 %%i 换成 %i 的
因为运行批处理是cmd调用批处理运行。所以% 要双写

TOP

返回列表