如何从命令提示符(或批处理文件)调整文件大小?
它需要将文件视为二进制。文件格式无关且任意。
扩展文件时应该用零填充。
缩小文件应该会截断文件。
换句话说:
如何复制SetEndOfFile
在命令提示符中?
答案1
我不相信该功能本身存在于 DOS shell 中,我怀疑您需要使用其他程序来完成这项工作。以下是几种可能性:
- 有一种工具叫特伦克据称它可以完成您想要做的事情:
Trunc 是一款 Windows 命令行应用程序,用于将文件截断为指定大小。也可用于放大文件。
您必须尝试一下才能确切地了解文件是如何填充的(例如用零或垃圾),但除此之外,这似乎符合您的要求。
- 文件系统工具是 Windows XP 及更高版本的系统工具,似乎具有一些可能有用的功能。具体来说
fsutil file
子命令似乎能够创建、设置长度以及零填充文件。
具体来说:
fsutil file createnew "C:\temp\myfile" 1024
将创建一个以零填充的 1024 字节文件。
要更改现有文件的大小:
fsutil file seteof filename length
- 紫外线高密度聚乙烯是一个十六进制编辑器,似乎具有您要求的功能。唯一的问题是它只能在 Windows/SFU(Unix 服务)下工作,而不能在 DOS 下工作。对于最终用户来说,这实际上意味着什么我并不清楚,但我隐约怀疑 SFU 在 Vista 和 Win 7 中被删除了。
答案2
SetEndOfFile
在命令提示符中设置“ :
FSUTIL file seteof <filename> <truncated size>
增加(现有)文件大小(填充空值):
FSUTIL file seteof <filename> <new size>
在文件系统级别工作,比将所需文件内容复制到新文件快得多。
答案3
copy /Y nul: file.txt
当然,仅设置为 0 字节。