Please enable Javascript to view the contents

Windows如何创建指定大小文件

 ·  ☕ 2 分钟

有时为了测试,需要创建一个特定大小的文件,比如测试文件上传。虽然你可以尝试使用记事本等应用程序仅创建文本文件,但当您需要一次创建一个大文件或多个文件时,就不是很方便了。

这篇文收集了若干快速生成的方法。

目录:

  • fsutil.exe
  • 按特定内容生成特定大小文件
  • 生成多行文本
  • 快速生成多个指定大小的文件

fsutil.exe

https://docs.microsoft.com/en-us/windows-server/administration/windows-commands/fsutil

Performs tasks that are related to file allocation table (FAT) and NTFS file systems, such as managing reparse points, managing sparse files, or dismounting a volume. If it’s used without parameters, fsutil displays a list of supported subcommands.

fsutil.exe是windows内置的一个程序。

根据官方介绍,fsutil命令用来进行FAT和NTFS文件系统的相关操作。其功能十分强大的工具,不仅可以进行具体文件的管理,还可以进行配额管理,稀疏文件管理,卷轴管理等等高级操作。

创建指定大小文件指令:

fsutil file createnew <filename> <length>

以下命令将在位置 c:\data 下创建大小为 4 KB 的文件 winaero.bin。

fsutil file createnew c:\data\winaero.bin 4096

而生成的winaero.bin文件中会有4kb大小的空白字符,注意是空白字符。

那么怎么生成有内容的文件呢?

按特定内容生成特定大小文件

在 PowerShell 输入以下命令:

“码”*1024 > 2k.txt

以上代码会生成1000个码字,输出到2k.txt,因为2k.txt默认的编码为 utf-16,码字刚好是两个字节,所以其文件大小为2KB。

同时也可以自定文件编码:

'码' * 1024 | out-file 3k.txt -Encoding UTF8

“码”在UTF8中占3个字节,所以生成的文件为3KB大小。

生成多行文本

只需要在文本后面加上换行(`r)即可,如:

"码中人 `r" * 3 > 3line.txt

快速生成多个指定大小的文件

如果想要一次创建20个10MB大小的文件又应该如何做到呢?这里就需要用到批处理脚本来帮忙了。创建一个create_file.bat文件,写入脚本如下:

@echo off

set a=1
:loop
fsutil file createnew file%a%.txt 10485760
echo file%a% done
set /a a+=1
if %a% lss 21 goto :loop

pause

参考资料

分享

码中人
作者
码中人
Web Developer