chipchamp12
Goto Top

Mittels Batch Text in .txt Datei einfügen.

Hallo, ich möchte, dass mittels Batch Datei ein Input in einer .txt Datei gespeichert wird.
Beispiel:
set /a input=
Jetzt gibt der Nutzer etwas ein!
Und das wird dann in einer .txt gespeichert!

PS: Ich meine kein:
echo hallo > beispiel.txt

Content-Key: 107301

Url: https://administrator.de/contentid/107301

Printed on: April 23, 2024 at 23:04 o'clock

Mitglied: 60730
60730 Jan 27, 2009 at 18:41:55 (UTC)
Goto Top
Servus Chimpchamp,

Set kann vieles - unter anderem auch /? - oder /a oder /p
Jetzt gibt der Nutzer etwas ein!
Also nicht /a, sondern /p

Und das wird dann in einer .txt gespeichert!

Also etwas in der Richtung....

set /p input= && echo %Input%>einer.txt

Ps:
Ich meine kein:
echo hallo > beispiel.txt

dann bitte nicht den obigen Schnippsel ausführen und hallo schreiben face-wink

Gruß
Member: bastla
bastla Jan 27, 2009 at 18:51:16 (UTC)
Goto Top
@timobeil
dann bitte nicht den obigen Schnippsel ausführen und hallo schreiben face-wink
Wäre auch kein Problem, würde ja in "einer.txt" landen ... face-wink *SCNR*

Grüße
bastla
Mitglied: 60730
60730 Jan 27, 2009 at 19:40:04 (UTC)
Goto Top
Zitat von @bastla:
Wäre auch kein Problem, würde ja in "einer.txt"
landen ... face-wink *SCNR*

Upps - stimmt ja face-wink
Also müßte es dann so funktionieren:
set /p input= && echo %Input%>"einer .txt"  
Das Ziel war ja:
Und das wird dann in einer .txt gespeichert!

Grüße
bastla

zurück.
Member: Chipchamp12
Chipchamp12 Jan 27, 2009 at 19:43:51 (UTC)
Goto Top
Hallo Timo!
Wenn ich folgendes schreibe:
@echo off
set /p input= && echo %Input%>Textdatei.txt
pause speicher und start, kann ich etwas eintippen!
Ich schreibe jetzt "Dies ist ein Text."
Der Inhalt von "Textdatei.txt" ist jedoch nur:
Echo ist ausgeschaltet (OFF)

Was mache ich falsch?
Gruß
Chipmunk
Member: bastla
bastla Jan 27, 2009 at 19:48:25 (UTC)
Goto Top
Hallo Chipchamp!

Mach zwei Zeilen draus (eine wird als Einheit betrachtet, und am Anfang der Zeile hat %input% noch keinen Inhalt):
@echo off & setlocal
set /p input=
echo %input%>Textdatei.txt
pause
Grüße
bastla
Mitglied: 60730
60730 Jan 27, 2009 at 19:50:01 (UTC)
Goto Top
Servus,

Was mache ich falsch?
nimm das Echo off raus....

@set /p input= && echo %Input%>Textdatei.txt

Gruß

edit
@bastla - oder so...
/edit
Member: bastla
bastla Jan 27, 2009 at 19:54:20 (UTC)
Goto Top
@timobeil
Am "echo off" liegt es nicht - wieder einmal ein Fall für "delayedExpansion":
@echo off & setlocal enabledelayedexpansion
set /p input= && echo !input!>Textdatei.txt
pause
Grüße
bastla
Mitglied: 60730
60730 Jan 27, 2009 at 20:01:05 (UTC)
Goto Top
@bastla

Stümmt face-wink

Gruß
Member: Chipchamp12
Chipchamp12 Jan 27, 2009 at 20:07:10 (UTC)
Goto Top
Danke euch, klappt super! Was nützt dieses setlocal enabledelayedexpansions?
Member: bastla
bastla Jan 27, 2009 at 20:10:29 (UTC)
Goto Top
Hallo Chipchamp12!

Was nützt dieses setlocal enabledelayedexpansions?
Kurzfassung: Dass Du nicht auf die nächste Zeile warten musst, um den neuen Inhalt einer Variablen verwenden zu können ...

Grüße
bastla
Member: Chipchamp12
Chipchamp12 Jan 27, 2009 at 21:09:20 (UTC)
Goto Top
@echo off & setlocal enabledelayedexpansion
md Textdokumente
cd Textdokumente
:beg
echo Bitte tippen Sie den Text ein: (Keine Sonderzeichen ae,oe,ue etc.)
set /p input= && echo !input!> unnamedfile.txt
:start
set /p zulu= && echo !zulu! >> unnamedfile.txt
if !zulu!==STOP goto end
if not !zulu!==STOP goto start

:end
cls
echo Bitte tippen Sie den Namen der Datei ein
set /p var=File name:%var%
Rename unnamedfile.txt "%var%.txt"
cls
echo Ihre Datei wurde erfolgreich erstellt!
echo Wollen Sie eine weitere Datei erstellen? Tippen Sie JA
Set input=
set /p neu= JA, wenn Sie neu beginnen wollen:
if !neu!==JA goto beg
if not !input!==JA goto fin
cls
:fin
exit


Soweit Super, aber nun wird jedes mal, wenn ich das Programm starte, ein neuer Ordner Textdokumente erstellt!
Kann man etwas schreiben, damit nur dann der Ordner erstellt wird, wenn er noch nicht existiert?
Member: bastla
bastla Jan 27, 2009 at 21:25:21 (UTC)
Goto Top
Hallo Chipchamp12!

nun wird jedes mal, wenn ich das Programm starte, ein neuer Ordner Textdokumente erstellt!
Eigentlich wird das nur versucht ...

Um auch den Versuch zu verhindern:
if not exist Textdokumente md Textdokumente
Noch eine Anmerkung: In diesem Batch ist "delayedExpansion" eigentlich nicht erforderlich - die oben beschriebene Aufteilung der Eingabezeilen auf 2 Zeilen ist sinnvoller ...

Grüße
bastla