有时为了测试,需要创建一个特定大小的文件,比如测试文件上传。虽然你可以尝试使用记事本等应用程序仅创建文本文件,但当您需要一次创建一个大文件或多个文件时,就不是很方便了。
这篇文收集了若干快速生成的方法。
目录:
- 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