【问题标题】:Save a specific field from output into a variable on windows CMD将输出中的特定字段保存到 Windows CMD 上的变量中
【发布时间】:2017-05-24 12:52:45
【问题描述】:

我想从netsh wlan show hostednetwork setting=security 读取 wlan-key 并将其保存在一个变量中,这样我就可以在没有不需要的信息的情况下显示它,例如......:

echo your key is %wlan_key%

我已经自己搜索了这个问题并找到了similar topic。我使用了James A Mohler 的方法,并尝试使其适应我的问题,但没有奏效。 尝试失败:

for /f "tokens=1-2 delims=:" %%a in ('netsh wlan show hostednetwork setting=security^|find "  Benutzer"') do set key=%%b
set key=%key:~1%
echo %key%
pause

【问题讨论】:

  • for /f "tokens=4*" %%a in ('netsh wlan show hostednetwork setting^=security') do set "key=%%b" 会为你的邪恶目的工作吗?它可能与语言环境无关,但如果您有理由确定您的用户都将运行英语 Windows,它应该可以工作。
  • 感谢您的快速回复,但您的解决方案对我不起作用。我在编辑中发布我的解决方案。
  • 请不要在问题中发布解决方案。改为添加答案(并接受)
  • 哦..对不起,我是这个社区的新手。我会改的!
  • 请在您的问题中包含您的(失败的)尝试!

标签: windows batch-file command-line cmd netsh


【解决方案1】:

我只是忘记了setting=security 之间的一个简单的抑扬符。对于我的解决方案,我只是修改了上述代码。

for /f "tokens=1-2 delims=:" %%a in ('netsh wlan show hostednetwork setting^=security^|find "  Benutzer"') do set key=%%b
set key=%key:~1%
echo %key%
pause

【讨论】:

  • 很高兴你能成功。我们将^ 字符称为插入符号。您说得对,抑扬符在排版和语言学中可能更准确,因为抑扬符是上标(在行上方),而插入符号是下标(在行下方)。但是,程序员/脚本编写者懒得键入抑扬符。插入符号更容易拼写。无论如何,+1。
  • 感谢您的补充和附加信息。到目前为止,我只知道它是抑扬符,但从现在开始,我将其称为插入符号。写和说真的更容易。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-11-10
  • 2013-06-21
  • 1970-01-01
  • 2013-02-27
  • 2014-12-29
  • 2021-07-25
  • 1970-01-01
相关资源
最近更新 更多