首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法在Java中执行netsh命令

无法在Java中执行netsh命令
EN

Stack Overflow用户
提问于 2014-09-26 05:37:24
回答 1查看 459关注 0票数 0

我正在尝试用Java执行netsh命令。我想要有可用的网络。我可以在cmd上运行以下代码:

代码语言:javascript
复制
"netsh wlan show network mode=Bssid  > D:\\output.txt"

它起作用了。当我尝试用Java运行这段代码时,它不能工作。

代码语言:javascript
复制
 Process networks= Runtime.getRuntime().exec("netsh wlan show network mode=Bssid  > D:\\output.txt");

fix如何做到这一点呢?

EN

回答 1

Stack Overflow用户

发布于 2021-10-09 17:29:44

有一个exec-overload,你可以以String-array的形式传递参数。

实际上,netsh.exe无法处理此问题。

解决方案是在命令行解释器中执行netsh,例如

代码语言:javascript
复制
Runtime.getRuntime().exec(new String[] {"cmd.exe", "/Cnetsh wlan show network mode=Bssid  > D:\\output.txt"});

无论如何,命令行解释器是处理输出过滤器´>´的唯一方法

否则,您可能会忽略写入文件,并立即以字符串列表的形式访问输出

代码语言:javascript
复制
    BufferedReader input = new BufferedReader(new InputStreamReader(networks.getInputStream()));
    List<String> res = new ArrayList<String>();
    String line;
    try
    {
        while ((line = input.readLine()) != null)
        {
            res.add(line);
        }

    }
    catch (Exception x)
    {
        x.printStackTrace();
    }

您无论如何都要这样做,以便与被调用的流程保持同步。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26048551

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档