Autor Thema: (Batch) Zeichen und Variable in einer Zeile  (Gelesen 5879 mal)

Manello

  • Beiträge: 69
    • Profil anzeigen
Gespeichert
« am: 05. April 2013, 12:10 »
So ich habe gerade mal wieder ein Problem, und zwar möchte ich eine Variable und ein Textzeichen gleichzeitig in
einer Textdatei speichern. Aber irgendwie funktioniert es nicht. Hier mal ein Ausschnitt wo die Datei erstellt und beschrieben werden soll.
:Speichern
echo %Item%: > DDItem.yml
echo Material: %IID%  >>DDItem.yml

Jedoch werden die Variablen nicht eingesetzt sondern die Datei sieht dann so aus:
:
Material:

Ich weis nicht warum er die Variablen nicht abspeichern möchte, obwohl ich sie vorher abfragen lasse.
Mfg Manuel

Jidder

  • Administrator
  • Beiträge: 1 625
    • Profil anzeigen
Gespeichert
« Antwort #1 am: 05. April 2013, 14:33 »
Der Code schaut in Ordnung aus. Ich schätze der Fehler liegt woanders. Du müsstest mal die ganze Datei herzeigen.
Dieser Text wird unter jedem Beitrag angezeigt.

freecrac

  • Beiträge: 86
    • Profil anzeigen
Gespeichert
« Antwort #2 am: 06. April 2013, 12:28 »
Der Code schaut in Ordnung aus. Ich schätze der Fehler liegt woanders. Du müsstest mal die ganze Datei herzeigen.
Das denke ich auch.

Folgende Batchbefehle...
@Echo off
set Item="Test"
set IID=255
echo %Item%: > DDItem.yml
echo Material: %IID%  >>DDItem.yml

... erzeugen bei mir diesen Inhalt in der DDItem.yml-Datei:
"Test":
Material: 255 

Dirk

Manello

  • Beiträge: 69
    • Profil anzeigen
Gespeichert
« Antwort #3 am: 10. April 2013, 20:01 »
Uhm sry ich hab dass thema ganz vergessen, da der Auftrag verschoben wurde, wegen
neuen Plugins etc.
Aber hier ist der Code:
@echo off

:Start
COLOR 0A
echo Diablo Item Editor 0.1

//------------------------------------Variable Abfragen----------------------------------
:Eingabe
set /p %Item% = "Bitte den Item Namen eingeben: "

:ID
set /p %IID% = "Bitte den Bukkit Item Namen eingeben: "

:Verzaubern
set /p %Enchant% = "Bitte eine gültige Verzauberung eingeben: "
set /p %Stufe% = "Bitte eine Stufe zu der Verzauberung eingeben: "

:Lore1
set /p %Lore% = "Bitte eine gültige Lore eingeben: "
set /p %LoreS% = "Eine Lore Stufe eingeben, bitte +/- beachten: "

:Beschreibung1
set /p %Beschreibung% = "Bitte geben sie eine Beschreibung ein: "

:BFarbe
set /p %BFarbe% = " Welche Farbe soll die Beschreibung haben? "
GOTO Speichern

//-----------------------------------------------------------------------------------------
:Speichern
echo %Item%: > DDItem.yml
echo Material: %IID%  >>DDItem.yml





Es soll später auch die verschiedenen Variablen speichern, aber so reicht es erstmal, (wegen neuen Plugins=Andere Speicherformate etc.)ich muss nur
wissen wie es variablen und txt gleichzeitig speichert ;)

Jidder

  • Administrator
  • Beiträge: 1 625
    • Profil anzeigen
Gespeichert
« Antwort #4 am: 10. April 2013, 20:32 »
Du darfst im SET-Befehl beim Namen der Variablen, die du setzen willst, nicht % verwenden. Die Variable wird sonst von cmd.exe durch den Wert ersetzt (der beim Start der Batch-Datei leer ist). Außerdem darf vor das = kein Leerzeichen, da sonst der Variablenname auch noch ein Leerzeichen bekommt.

Also sollten die Befehle so aussehen:
set /p Item="Bitte den Item Namen eingeben: "
Dieser Text wird unter jedem Beitrag angezeigt.

 

Einloggen