2009-04-21 28 views
28

Sto creando un file .bat e mi piacerebbe scrivere ASCII art in un file di testo.Aggiungere una nuova riga a un file di testo in MS-DOS

Sono stato in grado di trovare il comando per aggiungere una nuova riga al file quando echo testo, ma quando leggo quel file di testo, tutto quello che vedo è un segno di layout e non uno spazio. Penso che funzionerebbe aprendo quel file con Word o anche con WordPad, ma mi piacerebbe che funzionasse su qualsiasi computer, anche se quel computer ha solo Notepad (che è per lo più il caso).

Come posso aprire il file di testo in un determinato programma (ad es. WordPad) o scrivere un carattere di spazio appropriato nel file?


EDIT:

ho scoperto che è il modo migliore per utilizzare:

echo <line1> > <filename> 
echo <line2> >> <filename> 

P.S. Ho usato | nella mia arte ASCII, quindi è caduto, Dumb Dumb Dumb :)

+1

Ho paura che la domanda richieda una seria riformulazione e alcuni esempi di input/output/codice. Hai perso ma circa a metà ... – Tomalak

+1

wow, sei ovunque. È difficile capire cosa stai chiedendo. Cerca di porre una domanda chiara nel minor numero possibile di righe. Inoltre, un campione contenente ciò che stai facendo ora sarebbe di aiuto. – Will

+1

"duro quando si scrive in un file txt ho appena visto un layout di non-sign uno spazio" che fanno male la mia testa. – Will

risposta

57
echo Hello, > file.txt 
echo.  >>file.txt 
echo world >>file.txt 

e si può sempre correre:

wordpad file.txt 

su qualsiasi versione di Windows.


In Windows 2000 e sopra si può fare:

(echo Hello, & echo. & echo world) > file.txt 

Un altro modo di mostrare un messaggio per una piccola quantità di testo è quello di creare file.vbs contenenti:

Msgbox "Hello," & vbCrLf & vbCrLf & "world", 0, "Message" 

Chiamalo con

cscript /nologo file.vbs 

Oppure utilizzare wscript se non è necessario attendere finché non fanno clic su OK.


Il problema con il messaggio che si sta scrivendo è che la barra verticale (|) è il "pipe" operator. Dovrai evadere utilizzando ^| anziché |.

P.S. è scritto Pwned.

+0

Ty! Non mi sono reso conto che questo aggiunge una linea! Impressionante :) – billyy

+0

sì ho notato che ho potuto farlo, ma im cercando di tenerlo compatto che si vede, basta creare il file, altrimenti sarebbe solo copiarlo :) ma c'è modo di farlo con solo con scrittura 1 volta ora c'è? – billyy

+0

L'inglese è la tua prima lingua? – Will

9

È possibile aggiungere facilmente alla fine di un file, utilizzando due volte il carattere di reindirizzamento (>>).


Questo copierà source.txt-destination.txt, sovrascrivendo destinazione nel processo:

type source.txt > destination.txt 

Questo copierà source.txt-destination.txt, aggiungendo alla destinazione nel processo:

type source.txt >> destination.txt 
+0

davvero difficile, voglio solo che crei il file, non copi ..
altro potrei semplicemente farlo aprire un file senza creare prima, ma penso sia meglio averlo il più compatto possibile. – billyy

8

Forse questo è quello che vuoi?

echo foo > test.txt 
echo. >> test.txt 
echo bar >> test.txt 

risultati nel seguente entro test.txt:

foo

bar

+0

sì, penso che sarebbe il modo migliore per farlo, potrei modificare il file per fare un comando che lo dividerà in parti ...
almeno, prova male;) – billyy

1
echo "text to echo" > file.txt 
+0

che creerebbe (solo in parte) un comando, scrivi una riga su di esso .. ma non farebbe una riga successiva;) – billyy

0
  • uso sempre copy con per scrivere il testo, così facile scrivere una lunga t ext
  • Esempio:

    C: \ COPIA CON [unità:] [percorso] [Nome file]

    .... Content

    F6

    1 di file (s) viene copiato

-1

Utilizzare quanto segue:

echo (text here) >> (name here).txt 

Es. echo my name is jeff >> test.txt

test.txt

my name is jeff 

Si può usare in uno script troppo.

Problemi correlati