不能在findstr中使用变量?

凯列拉

我有一个使用查找字符串在日志中搜索某个字符串的for循环,但是它无法正常工作。即使日志中没有这样的痕迹,它也会执行错误级别0的所有操作。

@Echo on

for /L %%x in (1, 1, 1000) do (
findstr /N /I /C:"MapException: Key '%%x'" "C:\Program Files (x86)\Steam\SteamApps\common\Starbound\starbound_server.log"
if %errorlevel%==0 (
    Echo Memory Error at MapException: Key '%%x'!
)
)
pause

我想知道这是怎么回事?

MC ND
@Echo on
for /L %%x in (1, 1, 1000) do (
    findstr /N /I /C:"MapException: Key '%%x'" "C:\Program Files (x86)\Steam\SteamApps\common\Starbound\starbound_server.log"
    if not errorlevel 1 (
        Echo Memory Error at MapException: Key '%%x'!
    )
)
pause

为什么?好吧,尝试这两行

(( echo hi | find "k" ) & echo %errorlevel% )
(( echo hi | find "k" ) & if errorlevel 1 echo not found )

“问题”是块内部变量的扩展(括号内的行)。当执行到达一个块时,该块开始执行之前,其中的所有变量读取都替换为变量的值执行该块时,变量可以更改其值,但是在块内部看不到此更改,因为它们已被其值替换。

怎么解决呢?

启用延迟扩展并使用sintax !errorlevel!因此,在块解析时,变量读取不会被变量值替换。块内变量的更改在块内可见。

或者,在这种情况下,由于涉及的变量是errorlevel,请使用经典if形式来检查其值。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

不能在findstr中使用变量?

来自分类Dev

不能在Makefile中使用变量

来自分类Dev

不能在JS中使用PHP变量

来自分类Dev

我不能在createFormBuilder中使用变量

来自分类Dev

不能在函数中使用变量

来自分类Dev

不能在 jquery 函数中使用变量

来自分类Dev

不能在嵌套的for循环中使用特定变量?

来自分类Dev

$ document_root变量不能在“ root”指令中使用

来自分类Dev

不能在嵌套的for循环中使用特定变量?

来自分类Dev

不能在php文件而不是css中使用变量

来自分类Dev

为什么不能在函数中使用这些变量?

来自分类Dev

全局变量不能在Angular.foreach中使用

来自分类Dev

不能在另一个非参数变量中使用参数变量

来自分类Dev

为什么这个变量不是全局变量(不能在函数中使用)?

来自分类Dev

我不能在 SQL 查询中使用变量 Msg 137 必须声明标量变量

来自分类Dev

为什么不能在会话变量中使用字符串数字作为索引?

来自分类Dev

为什么不能在类中使用静态方法/变量的原因是什么

来自分类Dev

为什么我不能在postgres反斜杠命令(\ COPY)中使用变量

来自分类Dev

为什么不能在动态SQL的DDL / SCL语句中使用绑定变量?

来自分类Dev

为什么不能在C ++中使用变量作为数组大小?

来自分类Dev

为什么不能在.env文件中使用第二个变量

来自分类Dev

为什么我不能在WHERE语句中使用变量?

来自分类Dev

批处理扩展变量不能在子字符串替换函数中使用

来自分类Dev

我不能在dll中使用类库的属性和变量

来自分类Dev

为什么我们不能在C中使用变量作为e的值

来自分类Dev

Powershell变量可以正确显示,但是不能在数学运算中使用?

来自分类Dev

为什么不能在会话变量中使用字符串数字作为索引?

来自分类Dev

为什么不能在if块中使用以if条件初始化的变量?

来自分类Dev

Powershell-为什么不能在脚本中使用此变量?

Related 相关文章

  1. 1

    不能在findstr中使用变量?

  2. 2

    不能在Makefile中使用变量

  3. 3

    不能在JS中使用PHP变量

  4. 4

    我不能在createFormBuilder中使用变量

  5. 5

    不能在函数中使用变量

  6. 6

    不能在 jquery 函数中使用变量

  7. 7

    不能在嵌套的for循环中使用特定变量?

  8. 8

    $ document_root变量不能在“ root”指令中使用

  9. 9

    不能在嵌套的for循环中使用特定变量?

  10. 10

    不能在php文件而不是css中使用变量

  11. 11

    为什么不能在函数中使用这些变量?

  12. 12

    全局变量不能在Angular.foreach中使用

  13. 13

    不能在另一个非参数变量中使用参数变量

  14. 14

    为什么这个变量不是全局变量(不能在函数中使用)?

  15. 15

    我不能在 SQL 查询中使用变量 Msg 137 必须声明标量变量

  16. 16

    为什么不能在会话变量中使用字符串数字作为索引?

  17. 17

    为什么不能在类中使用静态方法/变量的原因是什么

  18. 18

    为什么我不能在postgres反斜杠命令(\ COPY)中使用变量

  19. 19

    为什么不能在动态SQL的DDL / SCL语句中使用绑定变量?

  20. 20

    为什么不能在C ++中使用变量作为数组大小?

  21. 21

    为什么不能在.env文件中使用第二个变量

  22. 22

    为什么我不能在WHERE语句中使用变量?

  23. 23

    批处理扩展变量不能在子字符串替换函数中使用

  24. 24

    我不能在dll中使用类库的属性和变量

  25. 25

    为什么我们不能在C中使用变量作为e的值

  26. 26

    Powershell变量可以正确显示,但是不能在数学运算中使用?

  27. 27

    为什么不能在会话变量中使用字符串数字作为索引?

  28. 28

    为什么不能在if块中使用以if条件初始化的变量?

  29. 29

    Powershell-为什么不能在脚本中使用此变量?

热门标签

归档