如何通过cmd创建一个文件来填满磁盘?

如何通过cmd创建一个文件来填满磁盘?

我想填满磁盘以进行测试,该测试要求磁盘存储已满。为此,我发现我可以使用以下命令的命令行:fsutil file createnew <filename> <filesize in bytes>。结合使用fsutil volume diskfree <disk>以找出当前有多少可用空间,到目前为止这很好,并且它适用于用例。

现在我有一个问题,我可以以某种方式组合这些命令吗,以便可以以某种方式“自动化”,这样我就不必手动检查可用存储并相应地创建文件?

简而言之,能否以某种方式将 的输出fsutil volume diskfree与 的输入结合起来fsutil file createnew,创建一个填满磁盘的文件?cmd(或者 power shell)中是否存在用于此任务的“一行”解决方案?

有问题的操作系统是 Win10 Enterprise。

答案1

以下 powershell 命令使用 WMI 获取磁盘的可用空间,然后使用 fsutil 创建新文件。如有必要,请不要忘记更改卷名。

$space = $(get-WmiObject win32_logicaldisk | where-object -Property DeviceID -EQ "C:" | select -ExpandProperty FreeSpace) ; fsutil file createNew yourFileName $space

答案2

这非常简单,您可以在 cmd 上使用此命令执行此操作:

for /F %C in ('wmic logicaldisk C: Get FreeSpace ^| find /V "FreeSpace" ^|find /I " "') do fsutil file createnew q %C

创建一个名为在当前 cmd 目录(默认 C:\Windows\system32)中,文件大小等于驱动器的可用空间C:

答案3

您可以使用此命令获取 C:\ 驱动器的可用空间,然后将输出发送到名为自由空间.txt 然后它使用 FOR 将 D 转换为变量,然后使用 fsutil 创建一个名为填充物填满硬盘。自由空间.txt填充物可以将其更改为任何您想要的内容,只要在两个位置都进行更改即可。

WMIC LOGICALDISK C: GET FreeSpace | find /V "FreeSpace" > freespace.txt & for /f %L in (freespace.txt) do fsutil file CreateNew spacefiller %L

相关内容