【发布时间】:2012-09-29 02:44:47
【问题描述】:
我正在尝试从路径名的文本文件中查找文件夹名称在唯一目录中拆分的频率。所以使用这个数据集我想要以下结果:
-
数据
- C:\Project_1\Models\MapShedMaps\randomfilename.txt
- C:\Project_1\Models\MapShedMaps\randomfilename.txt
- C:\Project_1\Models\MapShedMaps\randomfilename.txt
- C:\Project_2\Models\MapShedMaps\randomfilename.txt
- C:\Project_3\Models\MapShedMaps\randomfilename.txt
- C:\Project_3\Models\MapShedMaps\randomfilename.txt
- C:\Project_3\Models\MapShedMaps\randomfilename.txt
-
结果
- Project_1 = 1
- Project_2 = 1
- Project_3 = 1
- 型号 = 3
- MapShedMaps = 3
我的第一个想法是使用 Get-Content 和 ForEach-Object 将每个单词从路径中拆分出来,并将它们存储在一个保持计数的哈希表中。为了停止复制,我正在考虑一个数组或另一个哈希表来存储 currnet 对象在该点上的路径......这一切都在那里分崩离析。我不确定存储路径的“父”成员的最佳方法是什么,以便知道它是否是一个独特的事件。任何关于如何做到这一点的建议都会很棒。
更新:
好的,我正在考虑类似于哈希表 $SAVE 并计算每个 unqiue 值,数组 $PREVIOUS 是管道中的最后一个对象,数组 $HAVESEEN 是从一开始就捕获管道。
所以如果字符串被破坏,第一个对象将是 C,下一个是 Project_1,C 被移动到 $PREVIOUS 和 $HAVESEEN。我将尝试将其写下来,但我不确定如何在哈希表和数组之间传递所有这些内容。
【问题讨论】:
标签: powershell