Удалить текстовый блок из множества файлов TXT - PullRequest
0 голосов
/ 28 мая 2020

Мне нужна помощь по этому поводу:

Мой код удаляет текст из множества файлов txt в директории. Я удаляю контент из файла, но он сохраняет одно и то же содержимое во всех файлах. Я могу удалить текст, но при сохранении файла он сохраняет содержимое первого файла во всех следующих файлах.

Это удаленный блок: (Рабочий)

    <opex:OPEXMetadata xmlns:opex="http://www.openpreservationexchange.org/opex/v1.0">
    <opex:Transfer>
      <opex:SourceID>9880a11c-a13e-4df3-a52d-8be0f7d7a4ab</opex:SourceID>
   </opex:Transfer>
   <opex:Properties>
     <opex:Title>Fakamae_2018005_KM</opex:Title>
     <opex:Description>Fakamae_2018005_KM</opex:Description>
     <opex:SecurityDescriptor>S_SubscriberAccess</opex:SecurityDescriptor>
     <opex:Identifiers>
          <opex:Identifier type="code">Fakamae_2018005_KM</opex:Identifier>
     </opex:Identifiers>
 </opex:Properties>
<opex:DescriptiveMetadata>
    <LegacyXIP xmlns="http://preservica.com/LegacyXIP">
        <AccessionRef>88158870-ba1a-44a1-ad70-5cc898a5b436</AccessionRef>
        <AccumulationRef>3b955682-e827-43bb-a446-2dd635f01ef0</AccumulationRef>
        </LegacyXIP>
    <ExtendedXIP xmlns="http://preservica.com/ExtendedXIP/v6.0">
        <DigitalSurrogate>false</DigitalSurrogate>
        <CoverageFrom>2019-09-21T00:00:00.000Z</CoverageFrom>
        <CoverageTo>2019-09-21T00:00:00.000Z</CoverageTo>
        </ExtendedXIP>
  <METATRANSCRIPT:METATRANSCRIPT xmlns:METATRANSCRIPT="http://www.mpi.nl/IMDI/Schema/IMDI"   xmlns="http://www.mpi.nl/IMDI/Schema/IMDI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  ArchiveHandle="hdl:2196/00-0000-0000-0013-5776-9" Date="2018-12-17" FormatId="IMDI 3.04" Originator="CMDI Maker by CLASS - Cologne Language Archive Services" Type="SESSION" Version="1.0" xsi:schemaLocation="http://www.mpi.nl/IMDI/Schema/IMDI http://www.mpi.nl/IMDI/Schema/IMDI_3.0.xsd">
    <Session>
        <Name>Fakamae_2018005_KM</Name>
        <Title>Samoana 1</Title>
        <Date>2018-05-11</Date>
        <Description LanguageId="ISO639-3:eng" Link="">A story about a boy, his grandmother, and a devil.  The boy makes a plan to steal the devil's pig. This text was recorded in video and archived files are in mp4 video format and wav audio format. The eaf ELAN file contains both English  and Bislama translations.</Description>

<METATRANSCRIPT:METATRANSCRIPT>
<opex:OPEXMetadata/>

Это то, что мне нужно сохранить (Работает)

 <METATRANSCRIPT:METATRANSCRIPT xmlns:METATRANSCRIPT="http://www.mpi.nl/IMDI/Schema/IMDI"   xmlns="http://www.mpi.nl/IMDI/Schema/IMDI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  ArchiveHandle="hdl:2196/00-0000-0000-0013-5776-9" Date="2018-12-17" FormatId="IMDI 3.04" Originator="CMDI Maker by CLASS - Cologne Language Archive Services" Type="SESSION" Version="1.0" xsi:schemaLocation="http://www.mpi.nl/IMDI/Schema/IMDI http://www.mpi.nl/IMDI/Schema/IMDI_3.0.xsd">
        <Session>
            <Name>Fakamae_2018005_KM</Name>
            <Title>Samoana 1</Title>
            <Date>2018-05-11</Date>
            <Description LanguageId="ISO639-3:eng" Link="">A story about a boy, his grandmother, and a devil.  The boy makes a plan to steal the devil's pig. This text was recorded in video and archived files are in mp4 video format and wav audio format. The eaf ELAN file contains both English  and Bislama translations.</Description>


<METATRANSCRIPT:METATRANSCRIPT>

Но это содержимое сохраняется во всех файлах

Что я `я делаю не так?

 Get-ChildItem -Path 'C:\Source\' -Filter '*.xml' -File -Recurse |Rename-Item -NewName { $_.Name -replace '.xml','.txt' }



 ForEach-Object { Set-Content -Path C:\Source\* -Filter *.txt -Value  (Get-content -Path C:\Source\* -Filter *.txt | Select-String -Pattern 'opex:', 'ExtendedXIP','LegacyXIP','AccessionRef','AccumulationRef','DigitalSurrogate','CoverageFrom','CovergeTo' -NotMatch)}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...