【问题标题】:batch script assingn variable from command批处理脚本从命令分配变量
【发布时间】:2013-10-24 01:33:46
【问题描述】:

当我执行以下命令检查本地连接的网络适配器状态时:

netsh interface show interface "Local Area Connection" | find "Administrative state"

它将输出以下内容:

Administrative state: Enabled

Administrative state: Disabled

如何将 启用禁用 变量转换为批处理脚本?我知道在 linux bash 中,它会是这样的:

MY_VAR1=$(some_command | grep "someString$" | xargs);

如何在 Windows 批处理脚本中执行此操作?

【问题讨论】:

    标签: windows batch-file


    【解决方案1】:
    for /f "tokens=2 delims=:" %%i in ('netsh interface show interface "Local Area Connection" ^| find "Administrative state"') do set var=%%i
    

    在命令行中使用 % 而不是 %%。 ;)

    【讨论】:

      【解决方案2】:

      再想想

      for /f "tokens=3" %%i in ('netsh interface show interface "Local Area Connection" ^| find "Administrative state"') do set var=%%i
      

      将分配“启用”或“禁用”。

      使用"tokens=2 deims=:" 将分配

      " Enabled             "
      " Disabled            "
      这可以证明
      echo +%var%+
      

      + 显示空格...)

      【讨论】:

      • 你的解决方案是什么?
      • "tokens=3" 代替 "tokens=2 delims=:"3 在转录中丢失)
      • 我用了你的 "tokens=" 我仍然得到间距
      猜你喜欢
      • 2022-01-04
      • 1970-01-01
      • 2021-02-04
      • 2014-04-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-10-14
      • 1970-01-01
      相关资源
      最近更新 更多