2009-04-21 11 views
28

Estoy haciendo un archivo .bat, y me gustaría escribir ASCII art en un archivo de texto.Agregue una nueva línea a un archivo de texto en MS-DOS

Pude encontrar el comando para anexar una nueva línea al archivo cuando hice eco de texto, pero cuando leo ese archivo de texto, todo lo que veo es un signo de diseño y no un espacio. Creo que funcionaría abriendo ese archivo con Word o incluso WordPad, pero me gustaría que funcione en cualquier computadora, incluso si esa computadora solo tiene Notepad (que es principalmente el caso).

¿Cómo puedo abrir el archivo de texto en un programa determinado (es decir, WordPad) o escribir un carácter de espacio adecuado en el archivo?


EDIT:

he encontrado que es la mejor manera de utilizar:

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

P. S. Solía ​​| en mi arte ASCII, por lo que se estrelló, Dumb Dumb Dumb :)

+1

Me temo que la pregunta necesita una reformulación seria y algunas muestras de entrada/salida/código. Perdiste a ma casi a la mitad ... – Tomalak

+1

guau, estás en todos lados. Es difícil de entender lo que estás preguntando. Intenta hacer una pregunta clara en la menor cantidad de líneas posible. Además, una muestra que contenga lo que está haciendo ahora lo ayudaría. – Will

+1

"Resistente cuando escribe en un archivo de texto, solo veo un cartel de diseño, no un espacio" Eso me lastimó la cabeza. – Will

Respuesta

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

y siempre se puede ejecutar:

wordpad file.txt 

en cualquier versión de Windows.


En Windows 2000 y superior que puede hacer:

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

Otra forma de mostrar un mensaje para una pequeña cantidad de texto es crear file.vbs que contienen:

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

Llámalo con

cscript /nologo file.vbs 

O use wscript si no necesita esperar hasta que haga clic en Aceptar.


El problema con el mensaje que está escribiendo es que la barra vertical (|) es la "pipe" operator. Tendrá que escapar utilizando ^| en lugar de |.

P.S. está deletreado Pwned.

+0

Ty! ¡No me di cuenta de que eso agrega una línea! Impresionante :) – billyy

+0

Sí, me di cuenta de que podía hacer eso, pero trato de mantenerlo compacto, como ves, simplemente crea el archivo, de lo contrario simplemente lo copiaría :) Pero no hay manera de hacerlo con solo escribir 1 vez ahora esta ahi? – billyy

+0

¿Es el inglés su primer idioma? – Will

9

Puede agregar fácilmente al final de un archivo, utilizando dos veces el carácter de redirección (>>).


Esto copiará source.txt a destination.txt, sobrescribiendo destino en el proceso:

type source.txt > destination.txt 

Esto copiará source.txt a destination.txt, añadiendo a su destino en el proceso:

type source.txt >> destination.txt 
+0

realmente difícil, solo quiero que cree el archivo, no copie ...
otra cosa podría hacer que abra un archivo sin crearlo primero, pero creo que es mejor tenerlo lo más compacto posible. – billyy

8

Tal vez esto es lo que quieres?

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

resultados en lo siguiente dentro de test.txt:

foo

barra

+0

Sí, creo que sería la mejor manera de hacerlo, podría editar el archivo para hacer un comando que lo dividiría en partes ...
al menos, intentarlo;) – billyy

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

que crearía (optonalmente) un comando, escribe una línea en él ... pero no haría una línea siguiente;) – billyy

0
  • siempre uso copy con para escribir texto, que sea tan fácil escribir una larga t ext
  • Ejemplo:

    C: \ CON COPIA [unidad:] [ruta] [Nombre de archivo]

    .... contenido

    F6 archivo

    1 (s) se copia

-1

Utilice lo siguiente:

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

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

test.txt

my name is jeff 

Se puede utilizar en un script también.

Cuestiones relacionadas