Comandos Batch en Java

Iniciado por Baal_30, 23 Mayo 2015, 14:26 PM

0 Miembros y 1 Visitante están viendo este tema.

Baal_30

Buenas, estaba mirando que igual que se puede crear un fichero .txt, también se puede crear un .bat desde java. La duda que me ha surgido, es si se pueden usar comandos Batch (o Bash) directamente en un programa en Java, por ejemplo, hacer un programa que cree números random y cuando salga el 10, con un if, hacer un Shutdown y que apague el ordenador, por ejemplo.

¿Se puede?

Un saludo.
«La suerte es el cuidado de los detalles». -Winston Churchill


Baal_30

uh, genial pues :P

Gracias ^^
«La suerte es el cuidado de los detalles». -Winston Churchill

Coke951

Existe alguna forma de limpiar la pantalla desde la terminal? osea introducir el comando cls para hacer un clear secreen y asi que el programa desde una terminal sea mas limpio?
He buscado por internet y lo unico que he encontrado es utilizar un ciclo for que imprima las suficientes lineas en blanco para que simule un cls, pero queda bastante feo.

Baal_30

Creo que no, yo también he buscado bastante lo que preguntas y nunca he recibido respuesta diferente a la del for...
«La suerte es el cuidado de los detalles». -Winston Churchill

0xFer

Prueba con:

Código (java) [Seleccionar]
System.out.print("\033[2J\033[1;1H");

Realmente no te limpia la pantalla pero te puede servir
Código (java) [Seleccionar]
int getRandomNumber(){
    return 4; //chosen by fair dice roll
              //guaranteed to be random
}

Coke951

Lo utilice asi:
Código (java) [Seleccionar]

import java.util.Scanner;

class Prueba{
public static void main(String []args){

Scanner entrada = new Scanner(System.in);

for(int x = 0; x < 10 ; x++){
System.out.println("Mugre!");
}
System.out.println("deseas limpiar?");
if(entrada.nextLine().equals("si")){
System.out.print("\033[2J\033[1;1H");
}
}
}


Este es el resultado:

Mugre!
Mugre!
Mugre!
Mugre!
Mugre!
Mugre!
Mugre!
Mugre!
Mugre!
Mugre!
deseas limpiar?
si
←[2J←[1;1HPresione una tecla para continuar . . .


Funcional, funciona, pues no es haha, comoquiera gracias por intentar ayudar, si tienes alguna otra idea, porfavor dila, me seria bastante util con mis aplicaciones que son bastante largas con terminal.

0xFer

#7
Ah, tu terminal no soporta Códigos de escape ANSI, yo lo he probado en linux:


root@kali-F:~#










Si usas Windows debes habilitar ANSI.sys https://support.microsoft.com/en-us/kb/101875/es
Código (java) [Seleccionar]
int getRandomNumber(){
    return 4; //chosen by fair dice roll
              //guaranteed to be random
}

daryo

pues...
Código (java) [Seleccionar]
public final static void clearConsole()
{
    try
    {
        final String os = System.getProperty("os.name");

        if (os.contains("Windows"))
        {
            Runtime.getRuntime().exec("cls");
        }
        else
        {
            Runtime.getRuntime().exec("clear");
        }
    }
    catch (final Exception e)
    {
        //  Handle any exceptions.
    }
}



http://stackoverflow.com/questions/2979383/java-clear-the-console
buenas

Coke951