powershell regex

Alles over programmeren en development binnen de IT-wereld
conehead
Elite Poster
Elite Poster
Berichten: 797
Lid geworden op: 26 mei 2009, 21:36
Uitgedeelde bedankjes: 2 keer
Bedankt: 19 keer

Bericht

Hallo,

Ik heb er zelf weinig ervaring mee maar ik heb op regex101 het volgende aangemaakt en dan wordt er effectief geselecteerd wat ik zou willen:

Code: Selecteer alles

(SH[A-Z]{4}\w+.pdf)|obasi_temp_\w+(.xlsx|.DOCX)|(PrintServlet.\(\d+.\).pdf)
giet ik dit in powershell dan worden er bijvoorbeeld enkel bestanden verwijderd die starten met obasi_temp.... maar voor de rest geeft hij nul resultaten?

Code: Selecteer alles

Get-ChildItem $Path | Where{$_.Name -Match "<(SH[A-Z]{4}\w+.pdf)|obasi_temp_\w+(.xlsx|.DOCX)|(PrintServlet.\(\d+.\).pdf)>"} | Remove-Item -WhatIf
Misschien is er hier iemand met wat meer ervaring

hieronder enkele bestanden die dienen verwijderd te worden

SHEVOH_202211211548_idrit_therapieprog_hhi.pdf

obasi_temp_ibxlsx_15246179960657_2022_11_24_10_48_23.xlsx

PrintServlet (13).pdf
YordiDR
Member
Member
Berichten: 62
Lid geworden op: 28 mei 2022, 08:31
Uitgedeelde bedankjes: 5 keer
Bedankt: 10 keer
Recent bedankt: 1 keer

Bericht

Heb je al eens geprobeerd om enkele quotes rond de regex te zetten ipv dubbele quotes?

Sent from my BE2029 using Tapatalk

conehead
Elite Poster
Elite Poster
Berichten: 797
Lid geworden op: 26 mei 2009, 21:36
Uitgedeelde bedankjes: 2 keer
Bedankt: 19 keer

Bericht

Dat heb ik idd al eens getest maar dan krijg ik unexpected token ...
Met bovenstaande code worden er effectief bestanden verwijderd maar die enkel die temp bestanden ...
Verwijder ik alles en beperk ik me bijvoorbeeld tot enkel die SH[A-Z]... dan wordt er geen enkel bestand gevonden via powershell, geeft ook verder geen foutmelding. Het is precies dat de regex van de website 101 niet 100% overeenkomt met die powershell... ?
Gebruikersavatar
Sasuke
userbase crew
userbase crew
Berichten: 5644
Lid geworden op: 13 aug 2003, 18:25
Locatie: Vlaanderen
Uitgedeelde bedankjes: 219 keer
Bedankt: 440 keer
Recent bedankt: 13 keer

Bericht

Beginnersfout ... je mag die <> niet overnemen die meekomen door de htmlstring te copieren :-)

Code: Selecteer alles

Get-ChildItem $Path | Where {$_.Name -Match "(SH[A-Z]{4}\w+.pdf)|obasi_temp_\w+(.xlsx|.DOCX)|(PrintServlet.\(\d+.\).pdf)"} | Remove-Item -WhatIf
Who the fxxk is General Failure and why is he reading my hard disk ?
Afbeelding
conehead
Elite Poster
Elite Poster
Berichten: 797
Lid geworden op: 26 mei 2009, 21:36
Uitgedeelde bedankjes: 2 keer
Bedankt: 19 keer

Bericht

Bedankt,

Doet exact wat ik had verwacht