How do I delete 600 files by ‘partial filenames’?
I copied the 600 names on separate lines and added them to Everything - doesn't work!
So, I will never, ever succeed in finding and removing duplicates! This is a failure! Why can't any tools do this, I don't want to forever have duplicates on my disk, and a waste of disk space!
Manually removing duplicates to entertain for 1 years.
I have tested 100 scripts (various and modified) and not even one partial file name is found.
This is the most complicated task in the whole world that does not even find one name.
The more elaborate and complicated scripts and even debugging, it finds nothing.
So I have to 6,000 names manually compare, but no sense, for several years combine so many methods and not even one partial name does not find 1 filename.
Example Powershell
# Ustal ścieżkę do katalogu, w którym chcesz wyszukiwać pliki
$searchPath = "G:\【M独家】"
# Ścieżka do pliku wynikowego
$outputFile = "I:\wyniki.txt"
# Wczytaj fragmenty z pliku tekstowego
$fragments = Get-Content -Path "I:\fragments.txt"
# Tworzymy nowy plik wynikowy lub czyścimy go, jeśli już istnieje
Clear-Content -Path $outputFile -ErrorAction SilentlyContinue
# Przetwarzamy pliki w zadanym katalogu
Get-ChildItem -Path $searchPath -Recurse -File | ForEach-Object {
$file = $_
# Sprawdzamy, czy nazwa pliku zawiera którykolwiek z fragmentów
foreach ($fragment in $fragments) {
if ($file.Name -like "*$fragment*") {
# Jeśli plik pasuje, dodajemy jego pełną ścieżkę do pliku wynikowego
$file.FullName | Out-File -FilePath $outputFile -Append -Encoding UTF8
break # Przerywamy, aby nie zapisywać tego samego pliku wielokrotnie
}
}
}
Write-Host "Wyniki zostały zapisane w pliku: $outputFile"
How do I delete files by ‘partial filenames’?
Re: How do I delete files by ‘partial filenames’?
Failures are defined if a tool doesn't have a function as described.
I don't see that your request of removing duplicates is part of a search tool at all.
Such features are provided in several file managers (Everything is not a file manager)
which even integrate Everything for the search part of the job.
David may provide a solution using Everything functions in the best way.
Re: How do I delete files by ‘partial filenames’?
But Everything does not support the search for more than one ‘partial name’.
Or a problem with the number of characters because it is not displayed:
97 571 characters
I am trying yet another method of searching by duplicate names (duplicate strings), but my script is not returning any duplicates. Where is the error in the script?
I have already tested various 1000 scripts today (12 hours of work), and I still can't find anything.
# Ścieżki do plików
file1_path = r"I:\FOLDER\plik1.txt"
file2_path = r"I:\FOLDER\plik2.txt"
output_file_path = r"I:\FOLDER\plik3.txt"
# Wczytanie plików w UTF-8
with open(file1_path, 'r', encoding='utf-8') as file1:
file1_lines = file1.read().splitlines() # Wczytanie pliku do listy linii
with open(file2_path, 'r', encoding='utf-8') as file2:
file2_lines = file2.read().splitlines()
# Wykrywanie duplikatów (linia, która występuje dokładnie w obu plikach)
duplicates = [line for line in file1_lines if line in file2_lines]
# Zapis duplikatów do pliku wyjściowego
with open(output_file_path, 'w', encoding='utf-8') as output_file:
for line in duplicates:
output_file.write(line + "\n")
print(f"Duplikaty zostały zapisane do: {output_file_path}")
# Ścieżki do plików
plik1_sciezka = r"I:\FOLDER\plik1.txt"
plik2_sciezka = r"I:\FOLDER\plik2.txt"
plik3_sciezka = r"I:\FOLDER\plik3.txt"
# Funkcja do wczytania pliku i usunięcia zbędnych białych znaków
def wczytaj_plik(sciezka):
with open(sciezka, 'r', encoding='utf-8') as plik:
# Wczytaj linie, usuń białe znaki i zwróć listę
return [linia.strip() for linia in plik.read().splitlines()]
# Wczytanie plików w UTF-8
plik1_linie = wczytaj_plik(plik1_sciezka)
plik2_linie = wczytaj_plik(plik2_sciezka)
# Porównanie plików i wykrywanie dokładnych duplikatów (linia, która występuje dokładnie w obu plikach)
duplikaty = [linia for linia in plik1_linie if linia in plik2_linie]
# Zapis duplikatów do pliku wyjściowego
with open(plik3_sciezka, 'w', encoding='utf-8') as plik_wyjsciowy:
for linia in duplikaty:
plik_wyjsciowy.write(linia + "\n")
print(f"Duplikaty zostały zapisane do: {plik3_sciezka}")
Or a problem with the number of characters because it is not displayed:
97 571 characters
I am trying yet another method of searching by duplicate names (duplicate strings), but my script is not returning any duplicates. Where is the error in the script?
I have already tested various 1000 scripts today (12 hours of work), and I still can't find anything.
# Ścieżki do plików
file1_path = r"I:\FOLDER\plik1.txt"
file2_path = r"I:\FOLDER\plik2.txt"
output_file_path = r"I:\FOLDER\plik3.txt"
# Wczytanie plików w UTF-8
with open(file1_path, 'r', encoding='utf-8') as file1:
file1_lines = file1.read().splitlines() # Wczytanie pliku do listy linii
with open(file2_path, 'r', encoding='utf-8') as file2:
file2_lines = file2.read().splitlines()
# Wykrywanie duplikatów (linia, która występuje dokładnie w obu plikach)
duplicates = [line for line in file1_lines if line in file2_lines]
# Zapis duplikatów do pliku wyjściowego
with open(output_file_path, 'w', encoding='utf-8') as output_file:
for line in duplicates:
output_file.write(line + "\n")
print(f"Duplikaty zostały zapisane do: {output_file_path}")
# Ścieżki do plików
plik1_sciezka = r"I:\FOLDER\plik1.txt"
plik2_sciezka = r"I:\FOLDER\plik2.txt"
plik3_sciezka = r"I:\FOLDER\plik3.txt"
# Funkcja do wczytania pliku i usunięcia zbędnych białych znaków
def wczytaj_plik(sciezka):
with open(sciezka, 'r', encoding='utf-8') as plik:
# Wczytaj linie, usuń białe znaki i zwróć listę
return [linia.strip() for linia in plik.read().splitlines()]
# Wczytanie plików w UTF-8
plik1_linie = wczytaj_plik(plik1_sciezka)
plik2_linie = wczytaj_plik(plik2_sciezka)
# Porównanie plików i wykrywanie dokładnych duplikatów (linia, która występuje dokładnie w obu plikach)
duplikaty = [linia for linia in plik1_linie if linia in plik2_linie]
# Zapis duplikatów do pliku wyjściowego
with open(plik3_sciezka, 'w', encoding='utf-8') as plik_wyjsciowy:
for linia in duplikaty:
plik_wyjsciowy.write(linia + "\n")
print(f"Duplikaty zostały zapisane do: {plik3_sciezka}")
Re: How do I delete files by ‘partial filenames’?
To search partial names in your file list, add a * prefix and suffix.
For example:
partial search
=>
*partial search*
If you do not want to match spaces, replace spaces with a *
For example:
*partial search*
=>
*partial*search*
Replace ** with a single * to avoid matching the full path and name.
For example:
*partial search*
=>
*partial**search*
=>
*partial*search*
For example:
partial search
=>
*partial search*
If you do not want to match spaces, replace spaces with a *
For example:
*partial search*
=>
*partial*search*
Replace ** with a single * to avoid matching the full path and name.
For example:
*partial search*
=>
*partial**search*
=>
*partial*search*