Mam setki plików o nazwie jak SageAccts Company Name 2018-06-21 00-00-10
.
Data i godzina są w tytule. Życzę, aby usunąć wszystkie pliki, które nie mają datę 2018-**-05
, 2018-**-15
lub 2018-**-28
.
Nie mam dużego doświadczenia w programowaniu, więc PowerShell lub plik wsadowy byłyby najlepsze.
powershell
batch
Conrad Ryan
źródło
źródło
Odpowiedzi:
Najlepiej najpierw przefiltruj za pomocą wyrażenia regularnego i użyj (grupy przechwytywania), aby przywrócić dzień,
a następnie wykluczyć swoje specjalne dni
05|15|28
Nie określiłeś rozszerzenia, więc ja też nie.
Jeśli dane wyjściowe wyglądają OK, usuń
-WhatIf
parametr z poleceniaRemove-Item
cmdletźródło
To, czego szukasz w programie PowerShell, to dopasowanie wyrażenia regularnego, które używa negatywnego wyglądu, oznaczonego przez
?(<!)
, aby wykluczyć pożądane dni.?{}
Jest skrótem dla commandlet Where-Object.-match
operatorem otrzyma listę plików, które chcesz.Przełącznik What-If na Remove-Item uniemożliwia usunięcie podczas zgłaszania, co się stanie. Umożliwia przeglądanie wyników przed ich wykonaniem. Jeśli wszystko wygląda dobrze, po prostu usuń
-What-If
i uruchom je ponownie.Zawsze możesz skorzystać z pomocy Get-Help, aby dowiedzieć się więcej o komendzie.
źródło