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