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
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
.