Próba wyszukiwania nazw plików ze znakami specjalnymi w Eksploratorze Windows (Windows 10)


2

Przez błąd bardzo irytującej osoby tysiące moich plików zostało skopiowanych, często wiele razy. W rezultacie powstały tysiące plików o nazwie nazwa_pliku (2), nazwa_pliku (3) itp.

Moim świetnym pomysłem było przeprowadzenie wyszukiwania (2) i usunięcie wszystkich wyników, ale wyszukiwanie pokazuje wszystkie pliki, które mają numer 2 w nazwie pliku, zamiast nawiasów klamrowych.

Próbowałem nazwy: ~ = (2), „(2)”, a nawet „(2)” „(2)” po poszukiwaniu rozwiązań gdzie indziej. Żaden z nich nie działał. Chcę wykluczyć pliki, które mają tylko 2 w nazwie pliku, TYLKO chcę plików, które mają dwa w nawiasach.

Czy ktoś może pomóc?


Więc szukasz tylko Eksploratora Windows, czy też rozwiązanie skryptowe byłoby wystarczające?
Pimp Juice IT

Odpowiedzi:


4

Chcę tylko plików, które mają dwa w nawiasach (2)

Użyj następującego wyrażenia wyszukiwania:

name:~"*(2)*"

Uwagi:

  • ~ jest dosłownym wskaźnikiem ciągu, a poniższe elementy muszą pasować do całej nazwy pliku

  • W zależności od potrzeb filename:może być lepszy niżname:

Przed:

wprowadź opis zdjęcia tutaj

Po:

wprowadź opis zdjęcia tutaj


Dalsza lektura


@Sia Potrzebujesz więcej pomocy? Jeśli odpowiedziałeś na twoje pytanie, nie zapomnij przyjąć odpowiedzi .
DavidPostill

Nie, dziękuję, to naprawiło! Po raz pierwszy korzystam z tej strony i nie wiedziałem o akceptacji odpowiedzi. Zaznaczone!
Sia

0

Sugeruję skrypt PowerShell, który:

  • wyszukuje (1)rekurencyjnie wszystkie pliki ze znakiem końcowym do nazwy bazy dla danego folderu początkowego.
  • Wykonuje reż bez numeru, aby znaleźć wszystkie możliwe duplikaty, a następnie tworzy skrót, aby usunąć tylko dokładne kopie, prosząc o potwierdzenie.
  • Jeśli pliki zostaną zmienione w międzyczasie, nie będą już dokładnymi kopiami i nie będą działać.

Zmień, Push-Locationaby dopasować do folderu początkowego, zapisz plik z rozszerzeniem .ps1i uruchom go.

## Q:\Test\2017\07\15\SU_1230033.ps1
## inspired by http://n3wjack.net/2015/04/06/find-and-delete-duplicate-files-with-just-powershell/

Push-Location "D:\"
Get-ChildItem "* (1).*" -Recurse -File | ForEach-Object {
    $BaseFile = (Join-Path $_.Directory ($_.BaseName -replace ' ?\(\d+\)'))+"*$($_.Extension)"
    Get-ChildItem $BaseFile | Get-FileHash | Group-Object Hash |  Where { $_.Count -gt 1 } | 
        ForEach-Object {$_.Group | Select-Object -Skip 1 } | Remove-Item -Confirm
}
PopD

Aby uzyskać tylko listę plików, użyj tego skróconego skryptu:

Push-Location "D:\"
Get-ChildItem "* (1).*" -Recurse -File | ForEach-Object {
    $BaseFile = (Join-Path $_.Directory ($_.BaseName -replace ' ?\(\d+\)'))+"*$($_.Extension)"
    Get-ChildItem $BaseFile 
}
PopD

Po co używać skomplikowanego skryptu PowerShell, skoro można to łatwo zrobić za pomocą funkcji wyszukiwania Explorer?
DavidPostill

@DavidPostill z powodu dodatkowej funkcjonalności? Często usuwa tylko binarne pliki równości.
LotPings,

DOBRZE. Ale nie o to pytano :)
DavidPostill

Obawiam się, że w ogóle nie wiem, jak używać skryptu, a rozwiązanie Davida zadziałało dla mnie. Ale dziękuję za pomoc!
Sia,
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.