【问题标题】:PowerShell command to scan a network drive for certain filename [closed]PowerShell命令扫描特定文件名的网络驱动器[关闭]
【发布时间】:2014-07-01 03:07:18
【问题描述】:

我正在尝试编写一个 PowerShell 脚本,该脚本在网络驱动器中搜索特定文件名,并以 CSV 格式输出所有出现的文件。例如,如果我在文件夹 c:\test\folder1 和 c:\test\folder2 中有一个名为 test.txt 的文件,我希望 CSV 列出这两个文件路径,以及每个文件的最后修改时间。

【问题讨论】:

  • PowerShell 脚本似乎是 SO 的主题。我编辑了问题以使其更清楚。
  • 您的具体问题是什么?
  • 添加示例代码会有很大帮助——否则您的问题可能会被关闭

标签: powershell


【解决方案1】:
get-childitem c:\test -Filter myfile.txt -rec | where {!$_.PSIsContainer} | select-object FullName, LastWriteTime | export-csv -notypeinformation -delimiter '|' -path c:\test\output.csv

这是基于对Windows : How to list files recursively with size and last access date?Recursive file search using PowerShell 的回答,并进行了一些更改。

【讨论】:

  • 这是一个巨大的网络驱动器,包含多个文件夹和子文件夹。 excel表格会在某个点停止还是会全部被捕获?
  • 所有内容都将被捕获,唯一可能导致您出现问题的是网络延迟导致超时,因为文件系统越大,扫描所有文件所需的时间越长,并且需要的时间越长出现网络故障并且过程失败的可能性越大。如果你有的话,更好的选择是在服务器上启动一个会话,执行搜索,然后让它报告给你当前的会话,或者直接输出数据。
  • cpu 使用率下降到 0% 正常吗?这大约是 600GB 的数据
  • 我收到此错误:Get-ChildItem:指定的路径、文件名或两者都太长。完全限定文件名必须少于 26 个 0 字符,目录名必须少于 248 个字符。我怎样才能解决这个问题?谢谢
  • 这是 Windows 限制。最好的答案是改变你的目录结构来限制嵌套的数量,如果你可以控制的话。如果你不能这样做,有一些使用驱动器映射的技巧,如social.technet.microsoft.com/Forums/scriptcenter/en-US/… 中所述。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-05-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-05-01
  • 1970-01-01
相关资源
最近更新 更多