use*_*686 17 windows command-line
如何从命令提示符(或批处理文件)调整文件大小?
它需要将文件视为二进制文件。文件格式无关紧要且随意。
扩展文件应该用零填充它。
缩小文件应该会截断文件。
换句话说:
您如何复制SetEndOfFile命令提示符中的功能?
Mok*_*bai 12
我不相信该功能本身存在于 DOS shell 中,我怀疑您需要使用另一个程序来完成工作。这里有几种可能性:
有一个名为Trunc的工具,它声称可以完全按照您的要求执行操作:
Trunc 是一个 Windows 命令行应用程序,用于将文件截断为指定大小。也可用于放大文件。
您必须尝试一下才能确切了解文件是如何填充的(例如用零或垃圾),但否则这似乎符合您的要求。
fsutil是一个 Windows XP 及更高版本的系统工具,它似乎具有一些可能有帮助的功能。具体来说,fsutil file子命令似乎能够创建、设置长度以及零填充文件。
具体来说:
fsutil file createnew "C:\temp\myfile" 1024
将创建一个零填充的 1024 字节文件,但我看不到截断文件的方法。有一个设置有效数据长度的命令,但它似乎没有将 EOF 标记修改为:
使用 setvaliddata
在 NTFS 中,文件长度有两个重要的概念:文件结束 (EOF) 标记和有效数据长度 (VDL)。EOF 指示文件的实际长度。VDL 标识磁盘上有效数据的长度。VDL 和 EOF 之间的任何读取都会自动返回 0,以保留 C2 对象重用要求。
UVHD是一个十六进制编辑器,它似乎具有您所要求的功能。唯一的问题是它只适用于 Windows/SFU(Unix 服务)而不是 DOS。这对最终用户意味着什么我实际上并不知道,但我有一个模糊的怀疑,SFU 在 Vista 和 Win 7 中被删除了。
要设置“SetEndOfFile在命令提示符中”:
FSUTIL file seteof <filename> <truncated size>
Run Code Online (Sandbox Code Playgroud)
要增加(现有)文件大小(填充空值):
FSUTIL file seteof <filename> <new size>
Run Code Online (Sandbox Code Playgroud)
在文件系统级别工作,比将所需文件内容复制到新文件中要快得多。
小智 6
copy /Y nul: file.txt
Run Code Online (Sandbox Code Playgroud)
当然,仅用于设置为 0 字节。
| 归档时间: |
|
| 查看次数: |
32053 次 |
| 最近记录: |