Pregunta

¿Alguien puede recordar cuál fue el comando para crear un archivo vacío en MSDOS usando el archivo BAT?

¿Fue útil?

Solución

echo. 2>EmptyFile.txt

Otros consejos

copy NUL EmptyFile.txt

DOS tiene algunos archivos especiales (dispositivos, en realidad) que existen en cada directorio, NUL es el equivalente de / dev / null de UNIX: es un archivo mágico que es siempre vacía y tira todo lo que le escribes. Aquí hay una lista de algunos otros; CON también es útil ocasionalmente.

Para evitar tener ningún resultado, puede usar

copy /y NUL EmptyFile.txt >NUL

/ y evita que copy haga una pregunta que no puede ver cuando la salida va a NUL .

type NUL > EmptyFile.txt

Después de leer las dos publicaciones anteriores, esta mezcla de las dos es lo que se me ocurrió. Parece un poco más limpio. No hay necesidad de preocuparse por redirigir los "1 archivos copiados". mensaje a NUL , como lo hace la publicación anterior, y se ve bien al lado de ECHO OutputLineFromLoop > > Emptyfile.txt que generalmente seguirá en un archivo por lotes.

Técnicas que obtuve de otras respuestas:

Crea un archivo de 0 bytes de una manera muy clara y compatible con versiones anteriores:

type nul >EmptyFile.txt

idea vía: anónimo , Danny Backett , posiblemente otros, yo mismo inspirado por El trabajo de JdeBP

Un archivo de 0 bytes de otra manera , es compatible con versiones anteriores:

REM. >EmptyFile.txt

idea vía: Johannes

Un archivo de 0 bytes 3a forma también compatible con versiones anteriores:

echo. 2>EmptyFile.txt

idea vía: TheSmurf

Un archivo de 0 bytes de forma sistemática probablemente disponible desde Windows 2000:

fsutil file createnew EmptyFile.txt 0

idea vía: Emm

Un archivo de 0 bytes que sobrescribe archivos de solo lectura

ATTRIB -R filename.ext>NUL
(CD.>filename.ext)2>NUL

idea vía: copyitright

Una sola línea nueva (2 bytes: 0x0D 0x0A en notación hexadecimal , alternativamente escrita como \ r \ n ):

echo.>AlmostEmptyFile.txt

Nota: no espacio entre echo , . y > .

idea vía: ¿Cómo puede repetir una nueva línea en lote? archivos?


editar Parece que cualquier comando no válido redirigido a un archivo crearía un archivo vacío. je, una característica! compatibilidad: desconocido

TheInvisibleFeature <nul >EmptyFile.txt

Un archivo de 0 bytes: comando no válido / con un nombre aleatorio (compatibilidad: desconocido):

%RANDOM%-%TIME:~6,5% <nul >EmptyFile.txt

vía: gran fuente por azar por Hung Huynh

editar 2 Andriy M señala la forma probablemente más divertida / provocadora de lograr esto mediante un comando no válido

Un archivo de 0 bytes: comando no válido / the funky way (compatibilidad: desconocida)

*>EmptyFile.txt

idea vía: Andriy M

Un archivo de 0 bytes en el 4º camino :

break > file.txt

idea vía: foxidrive gracias a comentario de Double Gras !

REM. > empty.file

Si existe la posibilidad de que el archivo a escribir ya exista y sea de solo lectura, use el siguiente código:

ATTRIB -R filename.ext
CD .>filename.ext

Si no existe un archivo, simplemente haga:

CD .>filename.ext

(código actualizado / modificado según el comentario de DodgyCodeException)

Para suprimir cualquier error que pueda surgir:

ATTRIB -R filename.ext>NUL
(CD .>filename.ext)2>NUL
fsutil file createnew file.cmd 0

Uno más para agregar a los libros: corto y dulce para escribir.

break>file.txt
break>"file with spaces in name.txt"

Puede usar un comando TYPE en lugar de COPY . Prueba esto:

TYPE File1.txt>File2.txt

Donde File1.txt está vacío.

También puede usar SET para crear un archivo nulo byte de la siguiente manera

set x=x > EmptyFile.txt

O si no desea crear una variable adicional, reasigne una variable existente como

set PROMPT=%PROMPT% > EmptyFile.txt

o como este:

set "PROMPT=%PROMPT%" > EmptyFile.txt

La forma más fácil es:

echo. > Filename.txt

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top