我正在 PowerShell 中使用 Robocopy 来排序并输出数百万个早于用户指定年龄的文件名。我的问题是:最好利用 Robocopy 的日志记录功能,然后通过 Get-Content -ReadCount 导入日志,还是将 Robocopy 的输出存储在变量中以便脚本更好不必写入磁盘?
我必须以任何一种方式进行正则表达式才能获取实际的文件名。我使用 Robocopy 是因为许多文件的路径长度超过 248 个字符。
是否有一种方式比另一种更受青睐?不想错过一些应该被认为是显而易见的事情。
最佳答案
您可以通过使用 Measure-Command 测量每种方法所需的时间来跳过有关多个因素的所有理论和推测,例如:
Measure-Command {$rc_output = robocopy <arguments>}
Measure-Command {robocopy <arguments> /log:rc.log; Get-Content rc.log [...]}
您将得到输出,准确地告诉您每个版本花费了多长时间,精确到毫秒。在少量示例数据上进行尝试,看看哪一个更快,然后将其应用到数百万个文件中。
关于powershell - 将输出存储在变量中或输出到文件中哪个更有效?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21008516/