我正在使用类似于以下内容的 xml 文件。然而,它是以下数千倍。我将使用 powershell 来解析 xml
我需要找到字符串“c:\”出现的所有任务的任务名称。虽然如果字符串可能只显示一个区域,这可能很容易,但它可以完全显示在整个任务中。在这个特定的任务中,我将 C:\ 放在了 4 个不同的时间。
我希望得到任务名称的输出,以及给定路径被引用的位置......
<Task ID="00000000" Name="Task name goes here" Active="0" NextEID="22" CacheNames="random" AR="0" TT="COS">
<Info>
<Description>
</Description>
<Notes>
</Notes>
</Info>
<Parameters>
<moreParameters>C:\pathGoesHere</moreParameters>
</Parameters>
<Schedules/>
<Source HostID="0" Type="FileSystem" Path="C:\path" FileMask="[Parm:parameter].txt" DeleteOrig="0" NewFilesOnly="0" SearchSubdirs="0" Unzip="0" RetryIfNoFiles="0" UseDefRetryCount="1" UseDefRetryTimeoutSecs="1" UseDefRescanSecs="1" UDMxFi="1" UDMxBy="1" ID="11"/>
<For ID="13">
<Destination HostID="000000" Type="siLock" FolderID="" FolderType="4" FolderName="Home/[Parm:parameter]/" Subject="" FileName="[OnlyName]_[YYYY][MM][DD].bai" UseOrigName="0" ForceDir="1" OverwriteOrig="1" UseRelativeSubdirs="1" Zip="0" UseDefRetryCount="1" UseDefRetryTimeoutSecs="1" UseDefUser="1" UseDefClientCert="1" ID="12"/>
<If ID="14">
<When>
<Criteria>
<comp a="[ErrorCodeFile]" test="NEQ" b="0"/>
</Criteria>
<UpdOrig Action="d" ID="15"/>
<Destination HostID="0000000000" Type="Share" Path="C:\anotherCPath" FileName="[Parm:parameter]_[YYYY][MM][DD].bai" UseOrigName="0" ForceDir="1" OverwriteOrig="1" UseRelativeSubdirs="1" Zip="0" UseDefRetryCount="1" UseDefRetryTimeoutSecs="1" ID="17"/>
</When>
</If>
</For>
<If ID="19">
<When>
<Criteria>
<comp a="[ErrorCodeTask]" test="NNE" b="0"/>
</Criteria>
<Email HostID="385322183" Subject="[TaskStatus]-[TaskName]" Message="" AddressTo="email@address.com" Attachment = "C:\path\" UseDefRetryCount="1" UseDefRetryTimeoutSecs="1" ID="20"/>
</When>
</If>
</Task>