Java 从批处理文件中提取计算机名

Java 从批处理文件中提取计算机名,java,batch-file,Java,Batch File,我有一个方法,允许我在jtextfield中键入计算机名的一部分,然后通过jbutton提交。cmd提示符成功地为我提供了完整的计算机名。因此,如果我键入111255,命令提示符将输出coud11255。我正在使用的查询(@dsquery computer-name*%1) 这部分很好用。我的问题是从批处理文件中提取完整的计算机名并将其分配给java变量。我试图将计算机全名附加到textArea,但它只是从这里提取硬编码值: String dn=“CN=FDCD111304,OU=Worksta

我有一个方法,允许我在jtextfield中键入计算机名的一部分,然后通过jbutton提交。cmd提示符成功地为我提供了完整的计算机名。因此,如果我键入111255,命令提示符将输出coud11255。我正在使用的查询(@dsquery computer-name*%1) 这部分很好用。我的问题是从批处理文件中提取完整的计算机名并将其分配给java变量。我试图将计算机全名附加到textArea,但它只是从这里提取硬编码值:

String dn=“CN=FDCD111304,OU=Workstations,OU=SIM,OU=Accounts,DC=FL,DC=NET”;)

关于如何将计算机全名附加到textArea有什么建议吗

sendParam()将计算机名的一半传递到批处理脚本中,以查找完整的计算机名

   public static void sendParam(){

          try{
              String val = MISControlPanel.textField.getText(); //Put whatever you want to pass as a prefix in place of "Computer"
                jLabel1.setText(val);
                Process p ;
                p = Runtime.getRuntime().exec("cmd /c start c:\\computerQuery.bat "+val+"");
            }
            catch(Exception e){
                e.printStackTrace();
            }
      }


dsquery
是程序名吗?你能举一个精确输出的例子吗?另外,我在你的截图中看不出任何东西。实际上是否涉及批处理文件?dsquery是批处理文件查询的一部分,用于查找计算机名。附加文本区域的输出是您在图片中看到的FDCD111304。FDCD111304一次又一次,它来自我在图片上方的Paretose中输入的硬编码字符串dn。如果你看图片中的灰色框,你会看到它一次又一次地出现。
StringBuffer sbuffer = new StringBuffer(); 
                    BufferedReader in = new BufferedReader(new       InputStreamReader(p
                            .getInputStream()));

                try {

                    while ((line = in.readLine()) != null) {

                        System.out.println(line);

                        //textArea.append(line);

                        String dn = "CN=FDCD111304,OU=Workstations,OU=SIM,OU=Accounts,DC=FL,DC=NET";
                        LdapName ldapName = new LdapName(dn);
                        String commonName = (String) ldapName.getRdn(ldapName.size() - 1).getValue();


                        textArea.append(String.format("  %s%n", commonName));
                        //textArea.setText(ComputerQuery.val);

                        selectedComputerFromAD.setText(commonName);
                        selectedComputerFromAD.setFont(new Font("Tahoma", Font.BOLD, 14));
                        selectedComputerFromAD.setForeground(Color.RED);
                        selectedComputerFromAD.setBounds(349, 84, 102, 19);
                        frame.getContentPane().add(selectedComputerFromAD);
                    }
                    ComputerQuery.sendParam();

            } catch (IOException e1) {

                // TODO Auto-generated catch block

                e1.printStackTrace();

            } catch (InvalidNameException e1) {
                // TODO Auto-generated catch block
                e1.printStackTrace();
            } finally

            {
                try {
                    fw.close();

                }

                catch (IOException e1) {
                    // TODO Auto-generated catch block
                    e1.printStackTrace();
                }
            }

            try {

                in.close();

            } catch (IOException e1) {

                // TODO Auto-generated catch block

                e1.printStackTrace();

            }


            ComputerQuery.sendParam();

        }
    });