【问题标题】:Powershell - Export structure of folders to txt or xls but only to a depth of 3 folders and no filesPowershell - 将文件夹结构导出到 txt 或 xls,但仅限于 3 个文件夹的深度,没有文件
【发布时间】:2017-12-30 23:21:03
【问题描述】:

我希望从服务器导出一个文件夹结构,它有点庞大。 所以我希望将列表缩小到最大 3 个文件夹的深度并且不显示任何文件。所以实际上我有一部分答案here 已经在使用Get-ChildItem。 但我缺少缩小列表范围的参数。 有什么想法吗?

谢谢

编辑:导出到文本文件或 Excel 表 - 无 robocopy

【问题讨论】:

  • 您需要什么样的文件或输出文件?图形目录树?只是子目录的列表?以后可以自动处理的东西?
  • 我们的目标是拥有一个我可以提供给我的客户的文件,这样他就可以大致了解结构并知道他想要哪个文件夹的权限。这样我以后就可以相应地管理它了

标签: powershell structure directory


【解决方案1】:

使用-Directory 标志仅获取文件夹,使用-Recurse 包括子文件夹,使用-Depth 控制要走多远。 0 是当前目录文件夹,1 包括它们的子文件夹等。

您可以结合Select-Object 指定要选择的属性,并结合Export-CsvOut-File 创建一个csv/txt 文件。

Get-ChildItem -Recurse -Directory -Depth 3 |
    Select-Object FullName |
    Export-Csv Test.csv -NoTypeInformation

参考: Get-ChildItem, Select-Object, Export-Csv

【讨论】:

  • 谢谢,太好了。我还想做一件事。所以我使用了你的脚本,但我只是问了名字而不是全名。但是 Depth 参数将子文件夹放在底部而不是按顺序...无论如何 powershell 可以按正确的顺序显示它们吗?
  • @RazZ - 对于名称: Select-Object Name 而不是 Select-Object FullName 对于排序: 查看 Sort-Object。试一试,在这里和互联网上搜索。如果还有问题,请发帖。
  • 非常感谢您的帮助 =)
  • 需要Powershell 5.0或更高版本(!)
【解决方案2】:

不需要 Powershell 脚本,因为 Robocopy 是较新 Windows 版本中默认安装的一部分。它支持复制部分目录树。开关/lev:<N> 仅复制源目录树的前 N ​​级。

/e(空目录)和/xf *(排除所有文件)等附加开关对于仅复制目录结构很有用。

【讨论】:

  • 好吧,我想避免实际复制某些内容的需要,例如,如果我要以编程方式处理目录列表。但是,如果 "export"=="copy 别处",这就是解决方案。
  • 对不起,我不够清楚。我的意思是导出到文本或 excel 文件。目标是有一个书面结构。还是谢谢
猜你喜欢
  • 2015-03-25
  • 1970-01-01
  • 2020-11-04
  • 2019-03-09
  • 1970-01-01
  • 1970-01-01
  • 2017-08-12
  • 1970-01-01
  • 2011-08-24
相关资源
最近更新 更多