2009-02-15 12 views

Respuesta

37
echo "my line" > newFile.txt 
type myOriginalFile.txt >> newFile.txt 
type newFile.txt > myOriginalFile.txt 

Untested. doble >> significa 'append'

+0

Será "eco" en lugar de "tipo" para la primera línea, pero gracias, funcionó. –

+0

Er sí, echo, lo siento. :) Acabo de girar eso de la parte superior de mi cabeza en caso de que te ayudara a llevarte bien más rápido. – DarkwingDuck

8

La siguiente secuencia va a hacer lo que quiere, añadiendo la línea "new first line" al archivo file.txt.

ren file.txt temp.txt 
echo.new first line>file.txt 
type temp.txt >>file.txt 
del temp.txt 

Tenga en cuenta la estructura del eco. "echo." le permite poner espacios al comienzo de la línea si es necesario y colindante con el carácter de redirección ">" asegura que no haya espacios finales (a menos que los desee, por supuesto).

+0

Es bueno, pero en el caso de archivos grandes, puede durar mucho tiempo. ¿Hay alguna forma más conveniente? – matandked

5

Lo siguiente también funcionará:

echo "my line" > newFile.txt 
type newfile.txt myOriginalFile.txt > myOriginalFile.txt 

En la primera línea se está escribiendo en mi línea newfile.txt. En la segunda línea, está reemplazando el texto de myOriginalFile.txt sobrescribiéndolo con el texto de newfile.txt y myOriginalFile.txt, creando un nuevo myOriginalFile.txt que contiene ambos.

+0

Esto no funciona (Probado en Win 7). El contenido original se pierde y la nueva línea se repite en el contenido final. – dbenham

+0

Esto parece un enfoque arriesgado ya que, si algo sale mal en la segunda línea, habrá dañado myOriginalFile.txt –

+1

@StephenLead - es peor que arriesgado - nunca funciona. – dbenham

11

Otra variación sobre el tema.

(echo New Line 1) >file.txt.new 
type file.txt >>file.txt.new 
move /y file.txt.new file.txt 

ventajas sobre otras respuestas publicadas:

  • número mínimo de pasos
  • ningún archivo temporal izquierdo sobre
  • paréntesis impide espacio final no deseado en primera línea
  • el comando de desplazamiento "instantáneamente "reemplaza la versión anterior con la nueva
  • el archivo original permanece sin cambios hasta el e último instante cuando se reemplaza
  • el contenido final solo se escribe una vez, lo que es potencialmente importante si el archivo es enorme.
+0

upvote para la paranthesis, permitiendo encerrar todo un lote – AdrianBR

1

Si se puede ordenar la primera parte de la línea, como la fecha/hora, utilice el comando SORT/R para colocar las entradas más recientes en la parte superior del archivo. A continuación se colocará un sello de fecha/hora en forma de "AAAA-MM-DD HH: DD: SS AM/PM" al comienzo de cada línea:

echo %DATE:~-4%-%DATE:~7,2%-%DATE:~4,2% %TIME% "my text line" >> myOriginalFile.txt 
sort /R myOriginalFile.txt /O myOriginalFile.txt 

Sin embargo, como archivos crecen muy grande este método (así como los anteriores) se vuelven lentos. Considere clasificar solo cuando sea necesario en lugar de con cada entrada, o use otro lenguaje de programación/scripting

Cuestiones relacionadas