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

[文本处理] [已解决]批处理如何根据指定文本是否含有指定关键词/字符串执行不同操作?

本帖最后由 cnlyl 于 2016-5-8 09:55 编辑

正在学习批处理,disable_activation.cmd是防止Adobe acrobat 认证回弹修改hosts文件,原来的程序是一行行重复,我想改成for语句,但是,IF %ERRORLEVEL% NEQ 0 判断好像不正确,%ERRORLEVEL% 不是 FIND /C /I "%%N.adobe.com" %WINDIR%\system32\drivers\etc\hosts返回的ERRORLEVEL,请大侠指点迷津,先谢谢了!

::disable_activation.cmd

For %%N in (lm.licenses lmlicenses.wip4 3dns-2 3dns-3 activate activate-sea activate-sjc0 adobe-dns adobe-dns-2 adobe-dns-3 ereg hl2rcv practivate wip3 activate.wip3 ereg.wip3 wwis-dubc1-vip60) Do (
FIND /C /I "%%N.adobe.com" %WINDIR%\system32\drivers\etc\hosts
        IF %ERRORLEVEL% NEQ 0 (
           ECHO.
           ECHO 127.0.0.1        %%N.adobe.com>>%WINDIR%\system32\drivers\etc\hosts
        )
)
1

评分人数

回复 1# cnlyl


版主:我是 刚注册的新人,添乱了。不知道何处违规,请版主明示。谢谢!

TOP

本帖最后由 cnlyl 于 2016-5-8 10:29 编辑

新人首次注册发帖求助,被莫名扣分、打脸,无人回帖。求人不如求己,现已自行解决。
捣鼓%ERRORLEVEL%不通,另辟蹊径,用FINDSTR结果转向存储为%TEMP%\Tmp.txt,如果存储文件为0字节,说明查找的字符串不存在,替代%ERRORLEVEL%,问题自行粗糙地解决。
  1. ::disable_activation.cmd
  2. For %%N in (3dns-2 3dns-3 activate activate.wip3 activate-sea activate-sjc0 adobe-dns adobe-dns-2 adobe-dns-3 ereg ereg.wip3 hl2rcv lm.licenses lmlicenses.wip4 practivate wip3 wwis-dubc1-vip60) Do (
  3. FINDSTR "%%N.adobe.com" %WINDIR%\system32\drivers\etc\hosts >%TEMP%\Tmp.txt
  4.     For %%F In (%TEMP%\Tmp.txt) Do (If %%~zF GTR 0 Del %TEMP%\Tmp.txt)
  5.     IF Exist %TEMP%\Tmp.txt (
  6.        ECHO.
  7.        ECHO 127.0.0.1 %%N.adobe.com>>%WINDIR%\system32\drivers\etc\hosts
  8.        Del %TEMP%\Tmp.txt
  9.     )
  10. )
  11. pause
复制代码
本来不想再回复了,一走了之,但想了想,君子之道,不能小人一般。既然在此论坛注册过,即使以后不再光顾论坛,萤火虫般的我,也要发光,给有类似疑问的后来人一启示。拜拜!

TOP

论坛都有一个叫做版规的东西。
虽然我也不看。但是我知道有。

大多数用户提问完就不会再登录了。多一个不多,少一个不少。
去学去写去用才有进步。安装python3代码存为xx.py 双击运行或右键用IDLE打开按F5运行

TOP

返回列表