¿Cómo cambio el tamaño de un archivo desde el símbolo del sistema (o en un archivo por lotes)?
Necesita tratar el archivo como binario . El formato del archivo es irrelevante y arbitrario.
Extender el archivo debe rellenarlo con ceros.
Reducir el archivo debería truncar el archivo.
En otras palabras:
¿Cómo se duplica la funcionalidad de SetEndOfFile
en el símbolo del sistema?
windows
command-line
usuario541686
fuente
fuente
Respuestas:
No creo que la funcionalidad exista de forma nativa en el shell de DOS, sospecho que necesita usar otro programa para hacer el trabajo. He aquí algunas posibilidades:
Hay una herramienta llamada Trunc que dice hacer exactamente lo que buscas:
Tendrá que probarlo para averiguar exactamente cómo se rellena el archivo (por ejemplo, con ceros o basura), pero de lo contrario, esto parece ajustarse a la factura de lo que está pidiendo.
fsutil es una herramienta del sistema de Windows XP y superior que parece tener alguna funcionalidad que podría ayudar. Específicamente, el
fsutil file
subcomando parece ser capaz de crear, establecer la longitud y también archivos de relleno cero.Específicamente:
Creará un archivo de 1024 bytes lleno de cero, pero no puedo ver una forma de truncar el archivo. Hay un comando que establece una longitud de datos válida, pero no parece modificar el marcador EOF como:
UVHD es un editor hexadecimal que parece tener las funciones que está solicitando. El único problema es que solo funciona en Windows / SFU (Servicios para Unix) y no en DOS. Lo que eso realmente significa para un usuario final no lo sé, pero tengo una vaga sospecha de que SFU se cayó en Vista y Win 7.
fuente
trunc
hace lo que necesito. Ah, y una nota: SFU (o más bien, SUA - "Subsistema para aplicaciones basadas en Unix", también conocido como Interix) no se eliminó en Windows 7; ahora es un componente opcional en la versión Ultimate, desafortunadamente. : \fsutil
y editado mi respuesta, pero como noté, no puedo ver una forma válida de truncar los archivos.Para configurar solo a 0 bytes, por supuesto.
fuente
Si tiene instalado GnuWin32, puede usarlo
dd
para hacerlo.fuente
prueba mi versión truncada de BSD para Windows .
EDITAR: no funciona con archivos> 2GB.
Alternativas que funcionan bien con archivos grandes:
fuente