Ich muss ein Skript erstellen, das eine Textzeile in eine Textdatei im selben Verzeichnis wie die Batchdatei schreiben kann.
Ich muss ein Skript erstellen, das eine Textzeile in eine Textdatei im selben Verzeichnis wie die Batchdatei schreiben kann.
Antworten:
Sie können echo
die Ausgabe verwenden und in eine Textdatei umleiten (siehe Hinweise unten):
rem Saved in D:\Temp\WriteText.bat
@echo off
echo This is a test> test.txt
echo 123>> test.txt
echo 245.67>> test.txt
Ausgabe:
D: \ Temp> WriteText D: \ Temp> Geben Sie test.txt ein Dies ist ein Test 123 245,67 D: \ Temp>
Anmerkungen:
@echo off
Deaktiviert das Drucken jedes Befehls auf der Konsole>
oder >>
in das aktuelle Verzeichnis (das Verzeichnis, in dem der Code ausgeführt wird) geschrieben.echo This is a test > test.txt
verwendet eine >
, um alle bereits vorhandenen Dateien mit neuen Inhalten zu überschreiben.echo
Anweisungen verwenden zwei >>
Zeichen, um an die Textdatei anzuhängen (zu ergänzen), anstatt sie zu überschreiben.type test.txt
einfach die Dateiausgabe in das Befehlsfenster ein.Es ist einfacher, nur einen Codeblock zu verwenden, als dass Sie nur eine Umleitung benötigen.
(
echo Line1
echo Line2
...
echo Last Line
) > filename.txt
echo "blahblah"> txt.txt
löscht den txt und setzt blahblah an seine Stelle
echo "blahblah">> txt.txt
wird blahblah in eine neue Zeile im txt schreiben
Ich denke, dass beide einen neuen txt erstellen, wenn keiner existiert (ich weiß, dass der erste dies tut)
Wenn oben " txt.txt
" geschrieben ist, kann bei Bedarf ein Dateipfad eingefügt werden. zB C:\Users\<username>\desktop
, was es auf ihren Desktop legt.
'%~dp0
würde ...)
cd
oder pushd
Befehlen)
@echo off
(echo this is in the first line) > xy.txt
(echo this is in the second line) >> xy.txt
exit
Die beiden >>
bedeuten, dass die zweite Zeile an die Datei angehängt wird (dh die zweite Zeile beginnt nach der letzten Zeile von xy.txt).
So xy.txt
sieht das aus:
this is in the first line
this is in the second line
copy con
damit einen langen Text schreibenBeispiel:
C: \ COPY CON [Laufwerk:] [Pfad] [Dateiname]
.... Inhalt
F6
1 Datei (en) wird kopiert
@echo off
echo Type your text here.
:top
set /p boompanes=
pause
echo %boompanes%> practice.txt
hoffe das hilft. Sie sollten die Zeichenfolgennamen (IDK, wie es heißt) und den Dateinamen ändern
@
Zeichen sind überflüssig, da Sie bereits hatten@echo off
. Sie werden nur benötigt, wenn das Echo nicht ausgeschaltet wurde. stackoverflow.com/a/21077142/632951