我正在使用PowerShell中的驱动器清理脚本。作为其中的一部分,我使用Get-ChildItem
cmdlet获取所有文件的列表。有很多(50k +)的文件。
我已将cmdlet的输出抛出到CSV中,以为它会节省一点RAM。然后我逐行导入CSV并进行处理。我的理解是只有CSV的当前行被加载到RAM中。这是对的吗?
如果整个CSV在处理时加载到RAM中,那么这个问题没有实际意义。在那种情况下,我只是将输出放入变量进行处理。
答案 0 :(得分:0)
首先不要打扰50k +数据。它不会占用那么多的内存。
其次,它不会在任何时候按行加载,除非您只指定加载它。它将加载所有。
第三,如果那么重要,你可以考虑用块来打破它,这将有助于你减小尺寸。
如果也是get-content,它将作为一个整体加载。即使我们有一个-tail swich