批处理脚本从命令分配变量

时间:2013-10-24 01:33:46

标签: windows batch-file

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

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批处理脚本中执行此操作?

2 个答案:

答案 0 :(得分:2)

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

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

答案 1 :(得分:1)

再想一想

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%+

+显示空格......)