【发布时间】:2017-01-11 17:15:52
【问题描述】:
我有这个相对简单的脚本来列出大约。 2000 个 XML 文件,我希望将列表限制为具有称为 Order 的特定属性节点的列表,其值为 '2017-01-10'。
虽然我可以做到这一点,但我还需要匹配文件的LastWriteTime。
所以这是返回文件时的结果(将结果限制为一个):
PS> gci $path 模式 LastWriteTime 长度 名称 ---- ------------- ------ -a--- 2017 年 1 月 9 日下午 12:39 6643 文件.xml
然后使用 XPath 检索节点值:
PS> gci $path | Select-Xml -XPath "//Order[contains(@OrderDate,'2017-01-10')]" 节点路径模式 ---- ---- -------- Order \\\file.xml //Order[contains(@OrderDate,'2017-01-10')]
但是我需要将两个脚本结合起来,这样我的文件列表就只有所需的节点值,而且还显示了LastWriteTime。它似乎不喜欢在与Select-Xml 相同的行中添加Select LastWriteTime。几乎就好像我在使用“Where-Xml”(如果存在)。
【问题讨论】:
-
请发布您的代码。届时我们将继续努力。
-
你能用calculated property 将
LastWriteTime连接到另一个select吗? -
代码与发布的完全相同。我希望返回与第一个脚本看起来相同的结果,除了这已过滤掉 OrderDate 与指定日期不匹配的所有其他文件。
-
我不确定你的意思,BenH - 我只得到节点、路径和模式 - 我怎样才能从中获取 LastWriteTime 属性?
标签: xml powershell xpath