You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用PowerShell按预设大小创建空白文件报错求解决

错误原因与解决方法

错误原因

  1. 语法解析问题:PowerShell解析-Value ([char]0) * $fileSizeInKB时,会把*当作独立的位置参数,而非乘法运算符——因为你没把整个乘法表达式用括号完整包裹,导致参数绑定失败,触发PositionalParameterNotFound错误。
  2. 内存超限问题:就算修复语法,你要创建的文件约43GB,用([char]0) * $fileSizeInKB会在内存中生成一个超大字符数组,直接耗尽系统内存,根本无法执行。

可行实现方法

方法1:.NET FileStream直接设置文件大小(推荐,高效无内存压力)

通过.NET的文件流直接分配磁盘空间,无需在内存中存储完整数据,适合大文件:

$filePath = "C:\Testfile.txt"
$targetSize = 45883181261 # 目标字节数

$stream = [System.IO.File]::Create($filePath)
$stream.SetLength($targetSize)
$stream.Dispose()

方法2:使用Windows原生fsutil命令(需管理员权限)

利用系统自带工具直接创建指定大小的空白文件,底层直接分配磁盘空间:

$filePath = "C:\Testfile.txt"
$targetSize = 45883181261 # 目标字节数
fsutil file createnew $filePath $targetSize

方法3:修复原代码语法(仅适用于小文件)

如果是小文件测试,可以把乘法表达式用括号包裹,但大文件会直接内存溢出,不推荐:

$File_size_for_warning = 45883181261
$filePath = "C:\Testfile.txt"
New-Item -Path $filePath -ItemType File -Value ([char[]]::CreateInstance([char], $File_size_for_warning))

内容的提问来源于stack exchange,提问作者snehasish nandy

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.05 13:32:08