WinFuture-Forum.de: [Gelöscht] Batch Klammern - WinFuture-Forum.de

Zum Inhalt wechseln

Nachrichten zum Thema: Entwicklung
Seite 1 von 1

[Gelöscht] Batch Klammern


#1 Mitglied ist offline   cool_brick24 

  • Gruppe: Mitglieder
  • Beiträge: 19
  • Beigetreten: 17. Februar 18
  • Reputation: 0
  • Geschlecht:Männlich
  • Wohnort:Hessen
  • Interessen:Java Spiele programmieren, eigene Decompiler und am Arbeiten: Ein mini Roboter selber bauen ^^.

geschrieben 25. August 2018 - 18:51

Hallo liebes Forum:

Ich will einen Text in eine Textdatei schreiben. Das ist einfach!
Aber ich wollte es mir ein wenig leichter machen und habe Klammern benutzt:

::HilfeDatei erstellen::
(
echo ---:HilfeDatei:--- 
echo Hier sind die Befehle die du benuzten kannst:                   
echo.                   
echo  print [Text] Variablen Namen bitte mit "print: §Variable§" schreiben                  
echo  Vab [VariablenNamen == Zahl] Somit kannst du eine Variable festlegen                 
echo  set [VariablenNamen == Neue Zahl] So veränderst du deine Variable                 
echo  Int [Name der Variable = Prefix] Somit erstellst du eine Texteingabe.                
echo         (also Beispielsweise "int Eingabe Wie gehts dir?:" wird so ausgegeben: Wie gehts dir?:)           
echo.                    
echo.                  
echo.                
echo.                   
echo.                
echo.                  
echo.                   
) >> "\\TestOrdner\HilfeDatei.txt"




Es ist zwar nicht so wichtig was da drinne steht aber mein Problem ist folgendes:

Wenn ich die Batch Datei starte wird der Text in meiner Konsole ausgegeben und es wird keine
HilfeDatei.txt erstellt. Ich dachte dass das mit den Klammern funktioniert.

Hoffentlich könnt ihr mir helfen.

MFG cool_brick24

Ich hoffe mal das heute noch ne Antwort kommt, sonst muss ich mir was anderres einfallen lassen!

Dieser Beitrag wurde von cool_brick24 bearbeitet: 25. August 2018 - 20:45

Meep! Meep!
set Coding=off
echo Start Coding in 3
ping Localhost -n 1 >NUL
cls
echo Start Coding in 2
ping Localhost -n 1 >NUL
cls
echo Start Coding in 1
cls && echo START CODING!
0

Anzeige



#2 Mitglied ist offline   Gispelmob 

  • Gruppe: aktive Mitglieder
  • Beiträge: 2.486
  • Beigetreten: 14. August 15
  • Reputation: 357

geschrieben 25. August 2018 - 19:34

Soweit mir bekannt ist echo zeilenbasiert. D.h. es müsste für jede Zeile die Umleitung in die Datei erfolgen. Dann macht auch >> Sinn, denn ein einfaches > überschreibt den vorherigen Inhalt. Jedoch doppeltes >> hängt die Umleitung hinten an. Ob die runden Klammern überhaupt was bringen kann ich nicht sagen. In einer Batch hab ich das in der Art jedoch noch nicht gesehen. Es gibt hier einige Batch-Profis die sowas pausenlos schreiben. Die können dir sicher besser helfen als ich.
AMD Ryzen 9 5950X, Asus ROG Strix X570-F Gaming, 32GB Corsair DDR4-3200, Asus Geforce GTX 3060 12GB, Creative Sound Blaster AE-7, 240GB SSD, 500GB SSD, 2x 1TB SSD, Win10 Home 64Bit, 3x Acer G246HL Bbid, Logitech MX518 Gaming Mouse, Logitech G440 Mousepad, Logitech K120 Keyboard, Razer Tiamat 7.1 V2 Headset, Creative Inspire 5.1 5300 Soundsystem
0

#3 Mitglied ist offline   cool_brick24 

  • Gruppe: Mitglieder
  • Beiträge: 19
  • Beigetreten: 17. Februar 18
  • Reputation: 0
  • Geschlecht:Männlich
  • Wohnort:Hessen
  • Interessen:Java Spiele programmieren, eigene Decompiler und am Arbeiten: Ein mini Roboter selber bauen ^^.

geschrieben 25. August 2018 - 19:36

Okay, trozdem danke. Ich wollte nämlich mit der einen Batch Datei eine anderre schreiben.
Deswegen die Klammern. Im Moment probiere ich grade

 Do (


)


aus.

::Edit

Klappt leider nicht!

Dieser Beitrag wurde von cool_brick24 bearbeitet: 25. August 2018 - 19:39

Meep! Meep!
set Coding=off
echo Start Coding in 3
ping Localhost -n 1 >NUL
cls
echo Start Coding in 2
ping Localhost -n 1 >NUL
cls
echo Start Coding in 1
cls && echo START CODING!
0

#4 Mitglied ist offline   Gispelmob 

  • Gruppe: aktive Mitglieder
  • Beiträge: 2.486
  • Beigetreten: 14. August 15
  • Reputation: 357

geschrieben 25. August 2018 - 19:49

Das Do ist meines Wissens ein Teil einer Schleife. Warte doch einfach auf die anderen Schreiberlinge. :wink:

Dieser Beitrag wurde von Gispelmob bearbeitet: 25. August 2018 - 19:49

AMD Ryzen 9 5950X, Asus ROG Strix X570-F Gaming, 32GB Corsair DDR4-3200, Asus Geforce GTX 3060 12GB, Creative Sound Blaster AE-7, 240GB SSD, 500GB SSD, 2x 1TB SSD, Win10 Home 64Bit, 3x Acer G246HL Bbid, Logitech MX518 Gaming Mouse, Logitech G440 Mousepad, Logitech K120 Keyboard, Razer Tiamat 7.1 V2 Headset, Creative Inspire 5.1 5300 Soundsystem
0

#5 Mitglied ist offline   cool_brick24 

  • Gruppe: Mitglieder
  • Beiträge: 19
  • Beigetreten: 17. Februar 18
  • Reputation: 0
  • Geschlecht:Männlich
  • Wohnort:Hessen
  • Interessen:Java Spiele programmieren, eigene Decompiler und am Arbeiten: Ein mini Roboter selber bauen ^^.

geschrieben 25. August 2018 - 20:20

Okay.... Danke für die Antworten im voraus
Meep! Meep!
set Coding=off
echo Start Coding in 3
ping Localhost -n 1 >NUL
cls
echo Start Coding in 2
ping Localhost -n 1 >NUL
cls
echo Start Coding in 1
cls && echo START CODING!
0

#6 Mitglied ist offline   MasterP82 

  • Gruppe: aktive Mitglieder
  • Beiträge: 204
  • Beigetreten: 30. Juni 12
  • Reputation: 9

geschrieben 26. August 2018 - 12:12

die runden Klammern in dem auszugebenden Text müssen escaped werden!

::HilfeDatei erstellen::
(
echo ---:HilfeDatei:--- 
echo Hier sind die Befehle die du benuzten kannst:       			
echo.       			
echo  print [Text] Variablen Namen bitte mit "print: §Variable§" schreiben                  
echo  Vab [VariablenNamen == Zahl] Somit kannst du eine Variable festlegen     			
echo  set [VariablenNamen == Neue Zahl] So veränderst du deine Variable     			
echo  Int [Name der Variable = Prefix] Somit erstellst du eine Texteingabe.                
echo     	^(also Beispielsweise "int Eingabe Wie gehts dir?:" wird so ausgegeben: Wie gehts dir?:^)		
echo.                    
echo.                  
echo.                
echo.       			
echo.                
echo.                  
echo.           		
) >> "\\TestOrdner\HilfeDatei.txt"

0

#7 Mitglied ist offline   Gispelmob 

  • Gruppe: aktive Mitglieder
  • Beiträge: 2.486
  • Beigetreten: 14. August 15
  • Reputation: 357

geschrieben 26. August 2018 - 17:38

Ich wollt mich damit eigentlich nicht befassen, da es hier bessere gibt.

- am Anfang fehlt @echo off

Das unterdrückt die Ausgabe in der Console

- desweiteren ist §Variable§ durch $Variable$ zu ersetzen. Es sei denn es hat einen bestimmten Grund warum Paragraph verwendet wird anstatt String.

sieht dann so aus und funktioniert:

@echo off
::HilfeDatei erstellen::
(
echo ---:HilfeDatei:---
echo Hier sind die Befehle die du benuzten kannst:
echo. 
echo  print [Text] Variablen Namen bitte mit "print: $Variable$" schreiben 
echo  Vab [VariablenNamen == Zahl] Somit kannst du eine Variable festlegen 
echo  set [VariablenNamen == Neue Zahl] So veränderst du deine Variableecho. 
echo  Int [Name der Variable = Prefix] Somit erstellst du eine Texteingabe.
echo            ^(also Beispielsweise "int Eingabe Wie gehts dir?:" wird so ausgegeben: Wie gehts dir?:^)
echo. 
echo. 
echo. 
echo. 
echo. 
echo. 
echo. 
) >> "\\TestOrdner\HilfeDatei.txt"

Die erzeugte Ausgabe ist:

---:HilfeDatei:---
Hier sind die Befehle die du benuzten kannst:
                             
 print [Text] Variablen Namen bitte mit "print: $Variable$" schreiben 
 Vab [VariablenNamen == Zahl] Somit kannst du eine Variable festlegen 
 set [VariablenNamen == Neue Zahl] So veränderst du deine Variableecho. 
 Int [Name der Variable = Prefix] Somit erstellst du eine Texteingabe.
           (also Beispielsweise "int Eingabe Wie gehts dir?:" wird so ausgegeben: Wie gehts dir?:)
 
 
 
 
 
 
 


Dieser Beitrag wurde von Gispelmob bearbeitet: 26. August 2018 - 17:51

AMD Ryzen 9 5950X, Asus ROG Strix X570-F Gaming, 32GB Corsair DDR4-3200, Asus Geforce GTX 3060 12GB, Creative Sound Blaster AE-7, 240GB SSD, 500GB SSD, 2x 1TB SSD, Win10 Home 64Bit, 3x Acer G246HL Bbid, Logitech MX518 Gaming Mouse, Logitech G440 Mousepad, Logitech K120 Keyboard, Razer Tiamat 7.1 V2 Headset, Creative Inspire 5.1 5300 Soundsystem
0

#8 Mitglied ist offline   MasterP82 

  • Gruppe: aktive Mitglieder
  • Beiträge: 204
  • Beigetreten: 30. Juni 12
  • Reputation: 9

geschrieben 26. August 2018 - 22:00

Beitrag anzeigenZitat (Gispelmob: 26. August 2018 - 17:38)

desweiteren ist §Variable§ durch $Variable$ zu ersetzen. Es sei denn es hat einen bestimmten Grund warum Paragraph verwendet wird anstatt String.


Ja bei Batch gibt es kein §, aber auch kein $. Es gibt nur % und ! bei Variablen
0

#9 Mitglied ist offline   cool_brick24 

  • Gruppe: Mitglieder
  • Beiträge: 19
  • Beigetreten: 17. Februar 18
  • Reputation: 0
  • Geschlecht:Männlich
  • Wohnort:Hessen
  • Interessen:Java Spiele programmieren, eigene Decompiler und am Arbeiten: Ein mini Roboter selber bauen ^^.

geschrieben 04. September 2018 - 14:07

Okay Danke. Ich hatte den Paragrafen benutzt, weil ich mit Batch ein wenig Experimentieren wollte. Mein Experiment: Eine Programmiersprache. Das sollte nur eine Hilfe Datei werden. Wenn diese Programmiersprache Fertig ist, werde ich ein Tutorial darüber schreiben.
Ansonsten Vielen dank für die Antworten!


MFG cool_brick24

Dieser Beitrag wurde von cool_brick24 bearbeitet: 04. September 2018 - 14:08

Meep! Meep!
set Coding=off
echo Start Coding in 3
ping Localhost -n 1 >NUL
cls
echo Start Coding in 2
ping Localhost -n 1 >NUL
cls
echo Start Coding in 1
cls && echo START CODING!
0

Thema verteilen:


Seite 1 von 1

1 Besucher lesen dieses Thema
Mitglieder: 0, Gäste: 1, unsichtbare Mitglieder: 0