# CMD befehl: BAT erstellen, reinschreiben und starten?



## Guppi (8. Apr 2008)

Hi, ich habe eine Frage, ist es möglich über die CMD eine .bat datei auf dem Desktop zu erstellen, diese Datei zu öffnen und dort z.B. das einzugeben:

```
@echo off
start "" C:\Bla\Bla\Bla\Name.exe
exit
```
Und dann diese Datei zu starten?
Nagut, das starten ist ja nicht schwer. Eigendlich würdet ih mir schon helfen, wenn ihr mir sagen könntet, wie ich diese BATCH datei erstelle und den Text da eingebe.
Schonmal vielen Dank für eure Antworten, mfg, Guppi.


----------



## Wildcard (8. Apr 2008)

FileWriter!?


----------



## Guppi (8. Apr 2008)

kannst du mir mal bitte zeigen, wie du den Quelltext schreiben würdest? Ich brauche am besten immer ein Beispiel...
Weil sooo lange kann ich auch noch nicht Java   
Thx...


----------



## HLX (9. Apr 2008)

www.galileodesign.de/openbook/javainsel5/javainsel12_007.htm#Rxx747java12007040003FE1F047201


----------



## Guppi (9. Apr 2008)

Danke für die Antwort, das hat mir schonmal viel weiter geholfen. Jetzt habe ich noch eine letzte Frage. Wie kann ich jetzt zwischen _@echo off_ *und* _C:\\WINDOWS\\system32\\iexplore.exe_ *und* _exit_ ein _brake_ machen? Also das soll ja nicht alles in einer Reihe stehen, sondern es sollen dazwischen auch Absätze hin. Wie muss man den Quelltext jetzt ändern, dass er mir im Dokument Absätze macht?


```
try
    {
      fw = new FileWriter( "Test.bat" );
      fw.write( "@echo off C:\\WINDOWS\\system32\\fraps.exe exit" );
    }
    catch ( IOException e ) {
      System.err.println( "Konnte Datei nicht erstellen" );
    }
    finally {
      if ( fw != null )
        try { fw.close(); } catch ( IOException e ) { e.printStackTrace(); }
    }
```


----------



## ARadauer (9. Apr 2008)

\n


----------



## Guppi (9. Apr 2008)

Ja, das dachte ich auch, das geht aber nicht so...


----------



## L-ectron-X (9. Apr 2008)

Welchen Zweck hätte das denn, was du vor hast?
Vielleicht gibts eine andere, elegantere Lösung für dein Vorhaben.


----------



## Guppi (9. Apr 2008)

Also ich möchte ein Programm schreiben, welches eine .bat Datei erstellt, in der z.B. 

```
@echo off
start "" C:\Fraps\fraps.exe
exit
```
steht. Ich weiß, es geht auch ohne Batch-Datei mit 
	
	
	
	





```
Runtime.getRuntime().exec("cmd.exe /c start C:\\Fraps\\fraps.exe");
```
 machen. Abere das möchte ich diesmal nicht, sondern ich möchte eine Batch-Datei erstellen, die z.B. den oben genannten Inhalt enthält erstellen. Nur das Problem ist ja, dass ich im Moment keinen Zeilenumbruch im TXT-dokument machen kann. Wie kann ich also nach _@echo off_ mit einer neuen Zeile anfangen?


----------



## HoaX (10. Apr 2008)

indem du einen zeilenumbruch in die datei schreibst?


http://www.google.com/search?q=zeilenumbruch

http://de.wikipedia.org/wiki/Zeilenumbruch



			
				ARadauer hat gesagt.:
			
		

> \n


----------



## ARadauer (10. Apr 2008)

aja sorry, bin hier nebenei auf unix
\r\n

oder 
System.getProperty("line.separator");


```
FileWriter fw = new FileWriter( "c:\\Test.bat" ); 
		String br = System.getProperty("line.separator");
	
    fw.write("@echo off"+br+"C:\\WINDOWS\\system32\\fraps.exe"+br+"exit"); 
    fw.close();
```




> Statt "\r" (Mac), "\n" (Unix), "\r\n" bzw. CRLF (Windows) sollte das plattformunabhängige System.getProperty("line.separator") bevorzugt werden.


----------



## HoaX (10. Apr 2008)

man könnte auch nochmal einen PrintWriter auf den FileWriter legen und dann PrintWriter#println verwenden, der kümmert sich dann automagisch darum


----------



## Guppi (10. Apr 2008)

Cool, danke, jetzt geht alles! Thx für eure Antworten!
Mfg, Guppi


----------

