递归地迭代文件

问题描述

我有一个Powershell脚本,该脚本可以迭代某个网络目录中的文件。在此目录中,共有190个子目录,每个子目录包含多个文件。

我用它来执行这项工作:

get-childitem -Path $pathFilesOrig -Recurse -Force -Include *.pdf,*.csv | ForEach {
  write-host "INFO:File name: $_"
}

但是,它不会在某些目录中循环,而其中包含有效文件,并且访问权限也很好(我可以通过Windows资源管理器手动访问这些文件)。

我尝试了以下方法来检查是否至少可以迭代每个目录:

get-childitem -Path $pathFilesOrig -Recurse -Force | ?{ $_.PSIsContainer } | ForEach {
  write-host "INFO:Dir name: $_"
}

执行此操作时,脚本会显示每个目录。

现在我要列出每个目录中的文件:

get-childitem -Path $pathFilesOrig -Recurse -Force | ?{ $_.PSIsContainer } | ForEach {
  write-host "INFO:Dir name: $_"
  $tmpDirName = $pathFilesOrig + $_.Name
  get-childitem -Path $tmpDirName | ForEach {
    Write-Host "INFO:File name: $_"

在这种情况下,仍然缺少某些目录。

第二行write-host "INFO:Dir name: $_"的结果甚至都没有正常工作。

我不明白,我当然想念一些东西...

感谢您的帮助。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)