AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / user-4403

RBarryYoung's questions

Martin Hope
RBarryYoung
Asked: 2013-01-16 13:38:51 +0800 CST

FOR 在提示符下有效,但在脚本文件中无效?

  • 1

作为我为客户处理的任务的一部分,我需要对企业登录脚本进行一些修改。Windows 命令行绝对不是我的专业领域,但我对其中的大部分都做得很好。但是,我遇到了以下我无法弄清楚的不一致行为。

以下命令:

Set TMP=
For /f "tokens=1,2,3 delims=:" %A in ('ipconfig ^| Find "Default Gateway" ^| Findstr/N "."') do (If not defined TMP  Set TMP=%~C)

当在命令提示符(Windows 7 CMD.EXE 窗口)下执行时,按预期工作,TMP 将设置为我的默认网关的 IP 地址。但是,如果我从 CMD 文件执行完全相同的命令,在同一个窗口中,它会失败并显示以下输出 (Echo On):

>Set TMP=
~C) was unexpected at this time.

>For /f "tokens=1,2,3 delims=:" ~C)

我已经尝试了 CALL 和直接运行脚本。我已经尝试过使用和不usebackq使用 ,以及在 之后使用和不使用括号DO,每次都得到相同的结果:它以交互方式工作,但不是来自同一会话中的脚本。

这到底是怎么回事,我该如何解决?

windows
  • 1 个回答
  • 134 Views
Martin Hope
RBarryYoung
Asked: 2013-01-15 14:30:18 +0800 CST

如何将命令行输出提取到变量中?

  • 3

作为我为客户处理的任务的一部分,我需要对企业登录脚本进行一些修改。Windows 命令行绝对不是我的专业领域,但我对大多数它都做得很好。但是,我有一个问题,我不知道该怎么做。

基本上,我需要将机器默认网关的 IP 地址获取到一个环境变量中(供以后在脚本中使用)。我知道它存在于ipconfig和 of的输出中tracert,我知道如何在他们的输出中找到我需要的确切行,但我不知道如何超越它。

例如,以下命令产生如下输出:

>ipconfig|Find "Default Gateway"|Findstr/N "."|Findstr/B "1:"

 1:   Default Gateway . . . . . . . . . : 199.99.9.1

但现在我需要以某种方式从该文本行中仅提取 IP 地址,然后将其分配给环境变量。那么,如何从 Windows 命令行执行此操作?(Windows XP 及更高版本)。

windows
  • 1 个回答
  • 15226 Views

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve