Runtime.getRuntime().exec(param) problema

2 respostas
S
Ola eu pra ligar a uma partição que esta partilhada noutro pc eu uso o seguinte codigo
public boolean mapDrive(String drive, String terminal,String partition, String user)
	{
		String command = null;
		command = "net use " + drive + ": \\\\" + terminal +"\\"+partition +" /user:" + user+ " /persistent:no";
		return runCommandToBoolean(command);
	}

      public static String runCommand(String param)
	{
		try
		{
			StringBuffer sb = new StringBuffer();
			Process process = Runtime.getRuntime().exec(param);
			InputStream standardInput = process.getInputStream();
			BufferedReader br = new BufferedReader(new InputStreamReader(standardInput));
			InputStream standardError = process.getErrorStream();
			BufferedReader brError = new BufferedReader(new InputStreamReader(standardError));
			//OutputStream standardOutput = process.getOutputStream();
			String s;

			while ((s = br.readLine()) != null)
			{
				sb.append(s + "\r \n");
			}

			while ((s = brError.readLine()) != null)
			{
				sb.append(s + "\r \n");
			}

			standardInput.close();
			standardError.close();
			return sb.toString();
		}
		catch (Exception e)
		{
			System.out.println(e);
			return null;
		}
	}
agora o problema é quando quero desligar
public Boolean disconnectDrive(String drive)
	{
		String command = "net use /delete "+drive+":";
		if (runCommandToBoolean(command)==false)
                {
                    System.out.println("Não conseguiu desligar ");
                    
                }
                return true;
	}

quando nao conesegue ele faz uma pergunta: como p+osso responder ou ignorar a pergunta ??
a pergunta que é a apresentada é a seguinte:
[color=red]"pode-se prosseguir com o acto de desligar e forçar o fecho s/n:" [/color]
como respondo que sim atravez de codigo porfavor ajuda

2 Respostas

pmlm

No windows em inglês funciona com /Y. Presumo que em português seja /S

String command = "net use /delete "+drive+": /S";
S

obrigado era isso que eu queria :smiley: eu estou com outro problema

se eu fizer mapDrive("x:", "xx.xx.xx.xx", "partilha", "%USERNAME%");
como este comando ele nao se liga no entento se eu fizer o mesmo comando em cmd ele liga-se alguem me sabe esplicar porque

Criado 9 de setembro de 2009
Ultima resposta 9 de set. de 2009
Respostas 2
Participantes 2