vol ver pantalla mostrar mensaje ejemplos comandos comando bat archivos command-line dos batch-file

command line - ver - ¿Cómo crear un archivo de texto vacío a partir de un archivo por lotes?



mostrar mensaje en pantalla cmd (11)

La forma más fácil es:

echo. > Filename.txt

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


MOVIMIENTO RÁPIDO DEL OJO. > empty.file


Puede utilizar un comando TYPE lugar de COPY . Prueba esto:

TYPE File1.txt>File2.txt

Donde File1.txt está vacío.


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

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

Si no existe ningún archivo, simplemente haga:

CD .>filename.ext

(Código actualizado / modificado de acuerdo con el comentario de DodgyCodeException)

Para eliminar cualquier error que pueda surgir:

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


Técnicas que he recogido de otras respuestas:

Hace que un archivo de 0 bytes sea muy claro y compatible con versiones anteriores:

type nul >EmptyFile.txt

idea vía: anonymous , 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 via: Johannes

Un archivo de 0 bytes que también es compatible con versiones anteriores:

echo. 2>EmptyFile.txt

idea via: TheSmurf

Un archivo de 0 bytes de la manera sistemática probably disponible desde Windows 2000:

fsutil file createnew EmptyFile.txt 0

idea via: Emm

Un archivo de 0 bytes que sobrescribe archivos de solo lectura.

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

idea via: copyitright

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

echo.>AlmostEmptyFile.txt

Nota: no hay espacio entre el echo y > .

idea vía: ¿Cómo puedes hacer eco de una nueva línea en archivos por lotes?

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

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 source para el azar por Hung Huynh

edit 2 Andriy M señala la forma probablemente más divertida / provocadora de lograr esto a través de un comando no válido

Un archivo de 0 bytes: comando no válido / la forma funky (compatibilidad: desconocido)

*>EmptyFile.txt

idea via: andriy m

Un archivo de 0 bytes de 4ª manera :

break > file.txt

Idea via: foxidrive gracias al comment de Double Gras !


También puede usar SET para crear un archivo de byte nulos 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 así:

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


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

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


echo. 2>EmptyFile.txt


fsutil file createnew file.cmd 0


type NUL > EmptyFile.txt

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


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 siempre está vacío y elimina todo lo que se escribe en él. Aquí hay una list de algunos otros; CON es ocasionalmente útil también.

Para evitar tener cualquier salida, puedes usar

copy /y NUL EmptyFile.txt >NUL

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