2010-11-24 11 views
7

Me gustaría crear un archivo a partir de un archivo por lotes. Puedo usar el echo. > donald.txt, pero lo crea con una línea en blanco inicial. ¿Qué más puedo usar para un archivo desde la primera línea?Crear un archivo en blanco a partir de un archivo por lotes

+0

revisión: .... línea en blanco ... – aemme

+0

¿Todavía está un poco confundido sobre cuál es el problema? Comenzando desde la primera línea ... ¿puedes aclarar eso? –

+0

Para ayudar en búsquedas futuras, ** archivo vacío ** es sinónimo de ** archivo en blanco **. – DavidRR

Respuesta

23

¿Quiere crear un archivo completamente vacío? Esto lo hará:

copy /y nul donald.txt 

Si usted está buscando para escribir algo de primera línea, usted quiere algo como esto:

echo Hello, World > donald.txt 
+0

Muchas gracias, ¡hola mundo! – aemme

0

Si está utilizando PowerShell:

function touch {set-content -Path ($args[0]) -Value ($null) } 
touch file-name 

Fuente: http://blog.lab49.com/archives/249.

+3

Urgh, esa es una forma malvada de definir un comando 'touch'. Recuerde que 'touch' no solo se utiliza para crear archivos vacíos, sino también para actualizar la marca de tiempo de una existente. Mejor no usar un nombre que ya tenga múltiples usos ;-). De acuerdo con la terminología de PowerShell, esto debería * probablemente * llamarse 'Nuevo-Artículo'. Pero espera ... eso ya existe. 'New-Item foo.txt -Type File' (o' ni -t f foo.txt' si te gusta más corto). Por lo tanto, esta es probablemente una solución no a algo que se puede hacer más fácil con las herramientas que ya están allí. – Joey

0

Eso es porque echo. inserta una línea en blanco en su archivo.

Trate de usar el mismo código, pero sin el período añade al final de la declaración echo:

echo "Test string" > donald.txt 
+0

Si quieren un archivo vacío, entonces ciertamente no quieren que el archivo lea "Cadena de prueba" (incluso incluyendo las comillas). – Joey

+0

@Joey: Interpreté "¿Qué más puedo usar para un archivo comenzando desde la primera línea?" como si quisieran escribir texto en el archivo, pero querían que apareciera en la primera línea del archivo, en lugar del segundo con una línea en blanco en la parte superior. –

+0

Ah, está bien. La pregunta fue de hecho un poco turbia. – Joey

6

Una de las opciones es

@echo off 
rem Don't destroy an existing file 
if exist testfile goto _nocreate 
:: Create the zero-byte file 
type nul>testfile 
:_nocreate 

Originalmente desde http://www.netikka.net/tsneti/info/tscmd041.htm que contiene algunos métodos adicionales .

0

En tiempos de MS-DOS He utilizado este método para crear un archivo vacío:

rem > empty.txt 

En este nuevo Windows ya no funciona, pero rem puede ser reemplazado por cualquier comando que no muestran nada. Por ejemplo:

cd . > empty.txt 
Cuestiones relacionadas