- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
此链接指向 Get-Childitem2,该函数允许遍历 260 个字符的限制。
https://gallery.technet.microsoft.com/scriptcenter/Get-ChildItemV2-to-list-29291aae#content .
这是一个很棒的函数,运行得非常好,但是,它错误报告了超过 ~3.5GB 的文件大小,这就是我运行它的全部原因。我痛苦地承认,我只是不够好找到并修复代码,以便它准确地报告超过 ~3.5GB 的文件大小。
我想它就在这里的某个地方;因为似乎没有“nFileSizeHigh”选项:
} Else {
$Object.Length = [int64]("0x{0:x}" -f $findData.nFileSizeLow)
$Object.pstypenames.insert(0,'System.Io.FileInfo')
}
我选择了这个而不是 Robocopy 和 AlphaFS,因为我在使用两者时都遇到了各种问题。文件大小问题的示例:
get-childitem C:\Temp\Huge:(正确大小以字节为单位)
3166720000 - sp1_vl_build_x64_dvd_617403.iso
5653628928 - server_2016_x64_dvd_9327751.iso
4548247552 - it_English_-3_MLF_X19-53588.ISO
get-childitem2 C:\Temp\Huge:
3166720000 - sp1_vl_build_x64_dvd_617403.iso
1358661632 - server_2016_x64_dvd_9327751.iso
253280256 - it_English_-3_MLF_X19-53588.ISO
最佳答案
The size of the file is equal to
(nFileSizeHigh * (MAXDWORD+1)) + nFileSizeLow
脚本顶部(第 92 行)提到了 nFileSizeHigh,但没有尝试将其添加到文件长度中。所以我只能猜测该脚本有问题,并且没有在大于 [DWORD MAX](即 [uint32]::MaxValue,或大约 3.5GB)的文件上进行测试。
如果将顶部的两行更改为 [uint32]
而不是 [int32]
:
[void]$STRUCT_TypeBuilder.DefineField('nFileSizeHigh', [uint32], 'Public')
[void]$STRUCT_TypeBuilder.DefineField('nFileSizeLow', [uint32], 'Public')
并使长度计算更像文档链接:
$Object.Length = ($findData.nFileSizeHigh * ([uint32]::MaxValue+1)) + ([int64]('0x{0:x}' -f $findData.nFileSizeLow))
然后在我的快速测试中它可以正确处理约 7GB 的文件。
为什么要通过字符串格式化转换为 int64,以及应该如何正确完成它,我不知道,这主要是尝试和错误,直到它起作用。
关于PowerShell "get-childitem2"大小超过 ~3.5gb,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45832198/
我尝试了一些选项来迭代我的目录并在以下命令之间获得巨大的性能差异: 慢: Get-ChildItem -Directory -Force -Recurse -Depth 3 -Include '$tf
我今天才刚刚开始使用PowerShell,并且我有一个意向列表文件,其中包含数组中的一些模式,例如: $matchPattern = ( "SomeCompany.
我制作的 powershell 脚本有问题。该脚本的目的是从各种资源、CMDB og 和其他系统收集信息,并将它们收集在一个组合报告中并发送。 除了一个一直困扰我的提示外,我的一切工作正常。在我的脚本
我编写了一个脚本,用于从服务器归档日志文件。除了 Get-ChildItem 的递归性与否,我的一切都很好...... 我似乎遇到的问题是,当 Get-ChildItem 不是递归的并且 -Inclu
使用PowerShell 4.0, 我试图获取多个目录的大小,并且在Windows告诉我的内容和我的代码告诉我的内容之间却得到非常不一致的结果。 有问题的代码是: $temp4 = ($folderI
我正在使用Powershell脚本删除文件夹中的某些文件,然后将其余文件移到预定义的子文件夹中。 我的结构看起来像这样 Main (Contains a bunch of pdb and dl
我试图获取特定子文件夹结构中文件的递归列表,然后将它们保存到表中,以便可以使用foreach循环处理每一行。我有以下代码: $table = get-childitem -recurse | wher
大家好,我的文件夹结构如下 D:\Exclude Include Include1 Exclude Include 我需要的是我想过滤目录 In
我在 d: 下有 3 个 ps1 文件 -a--- 6/19/2015 2:52 PM 104 Untitled1.ps1
我们生成名称中带有日期的文件。(* 下面是日期的通配符)我想获取最后一个文件,并且包含该文件的文件夹的标题中也有一个日期(仅月份)。 我正在使用 PowerShell,并安排它每天运行。这是到目前为止
我要申请多个filter在 PowerShell 脚本中,截至目前我只能添加单个 filter像下面 Get-Childitem "D:\SourceFolder" -recurse -filter
我正在尝试使用CreationTime命令获取Lastwritetime和get-childitem,并将其与相同的汇编时间进行比较,以检查每5分钟是否有任何差异。 奇怪的是,如果程序集没有更改,并且
我写了一个Powershell脚本来检查文件夹的内容,以及是否有LastWriteTime早于20分钟的文件通知我。我遇到的问题是,当我得到结果时,它包括电子邮件正文中的所有文件。我将如何编写该信息以
这个问题在这里已经有了答案: PowerShell output is crossing between functions (1 个回答) 2年前关闭。 Powershell 版本信息如下: Nam
再次尝试使用 PowerShell 删除文件。 我现在正在尝试删除以“Export_”开头的文件,然后是两位数的年份,然后是儒略日期。例如,今天是 Export_18309。 18309 之后还有其他
我有两种使用通配符模式获取文件的方式: Get-ChildItem "$ActivityLogDirectory/*.csv" 和 Get-ChildItem "$ActivityLogDirecto
平台上的第一篇文章;-) 场景:我有一个根文件夹,其中包含带有安装相关文件的子文件夹。一些子文件夹包含更多子文件夹和更多文件,子子文件夹。根文件夹下的每个子文件夹或其子文件夹都必须包含一个特定文件。
我的问题与元过滤器上发布的问题几乎相同。 我需要使用 PowerShell 脚本来扫描大量文件。问题在于“Get-ChildItem”函数似乎坚持将整个文件夹和文件结构插入内存中。由于驱动器在 30,
我目前正在编写一个可视化错误 GUI,它可以在处理时捕获任何异常,并为用户提供“易于理解”的错误消息。但似乎在使用 Get-ChildItem 时我无法捕获任何异常小命令。我是否必须使用与 try/c
我正在编写一个遍历目录并复制其中的每个文件和文件夹的递归函数。我在函数中进行的第一项检查是查看传入的路径是否有子级。为了找出答案,我使用以下方法: [array]$arrExclude = @("Ex
我是一名优秀的程序员,十分优秀!