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

[其他] [已解决]请教一下,我写的这个批处理文件哪里出了问题

本帖最后由 zfen12x 于 2012-3-20 14:03 编辑
  1. @echo off
  2. start "test" %1 %2 %3
  3. type nul > old.log
  4. :loop
  5. fc new.log old.log&&taskkill /f /t /fi "windowtitle eq test"&&start "test" %1 %2 %3
  6. copy /y new.log old.log >nul
  7. wmic os get name /every:1 /repeat:5 >nul
  8. for /f "delims = : tokens = 3" %%i in (new.log) do (
  9. echo %%i
  10. if %i% ==  Executed goto aa
  11. )
  12. goto loop
  13. :aa
  14. echo 3213213
复制代码
运行后,提示信息:
) was unexpected at this time.

谢谢!
1

评分人数

    • Batcher: 感谢给帖子标题标注[已解决]字样PB + 2

怀疑是for这部分出了问题,因为当我把
  1. for /f "delims = : tokens = 3" %%i in (new.log) do (
  2.         echo %%i
  3.         if %i% ==  Executed goto aa
  4. )
复制代码
这部分屏蔽掉之后,程序是按着我的当初设想运行的。

TOP

  1. for /f "delims=: tokens=3" %%i in (new.log) do if /i %i% equ Executed (echo 123123123123123123123)
复制代码
就是这里除了问题。。但是我不清楚是哪的问题。哎。急!

TOP

  1. @echo off
  2. start "test" %1 %2 %3
  3. type nul > old.log
  4. :loop
  5. fc new.log old.log&&taskkill /f /t /fi "windowtitle eq Administrator: test"&&start "test" %1 %2 %3
  6. copy /y new.log old.log >nul
  7. wmic os get name /every:1 /repeat:5 >nul
  8. for /f "delims=: tokens=3" %%i in (new.log) do if /i "%%i" == " Executed" goto aa
  9. goto loop
  10. :aa
  11. pause
复制代码
自己解决了。。。

TOP

  1. for /f "delims=: tokens=3" %%i in (new.log) do (
  2.         echo %%i
  3.         if /i "%%i"=="Executed" goto aa
  4. )
复制代码
%i% 呵呵
1

评分人数

TOP

下次求助的时候请把代码的意图描述一下,否则别人还得猜你想实现什么功能。

TOP

返回列表