Jak zaznaczyć te same foldery w obu panelach
Moderators: Usher, Gral, eltome
Jak zaznaczyć te same foldery w obu panelach
Chciałbym zaznaczyć w lewym i prawym panelu foldery o tych samych nazwach, tylko foldery, nie interesuje mnie ich zawartość.
Potrzebuję usunąć te foldery w drugim panelu.
Jak to zrobić w najnowszej wersji TC w Windows?
Najlepiej dedykowanym poleceniem lub przyciskiem?
Potrzebuję usunąć te foldery w drugim panelu.
Jak to zrobić w najnowszej wersji TC w Windows?
Najlepiej dedykowanym poleceniem lub przyciskiem?
regards
dmocha
dmocha
Re: Jak zaznaczyć te same foldery w obu panelach
Spróbujmy to rozwinąć jakoś.
Jeśli masz na myśli sytuacje, w której w dwóch panelach są różne katalogi i ma zostać zrobione porównanie nazw widocznych katalogów - listy, to można użyć skryptu powerShell edytowany po swojemu np.
uruchamiane to poleceniem np. powerShell .\ścieżkaDoSkryptu.ps1 parametr1 parametr2
gdzie parametry to katalogi (ze ścieżką).
Skrypt zapisuje do pliku nazwy katalogów, które powtarzają się w obu folderach i można użyć w TC do Załadowania zaznaczenia z pliku ... w panelu drugim jako aktywnym. Najlepiej przetestować na dowolnie utworzonych paru folderach
Jeśli masz na myśli sytuacje, w której w dwóch panelach są różne katalogi i ma zostać zrobione porównanie nazw widocznych katalogów - listy, to można użyć skryptu powerShell edytowany po swojemu np.
porownanieNazwKatalogow.ps1
Code: Select all
param (
[string]$folder1,
[string]$folder2
)
# Sprawdzenie, czy oba parametry zostały podane
if ([string]::IsNullOrWhiteSpace($folder1) -or [string]::IsNullOrWhiteSpace($folder2)) {
Write-Host "❌ Nie podano wymaganych parametrów: folder1 i folder2."
Write-Host "Użycie w PowerShell np.: .\PorownajNazwyKatalogi.ps1 -folder1 'C:\FolderA' -folder2 'D:\FolderB'"
exit
}
# Sprawdzenie, czy foldery istnieją
if (!(Test-Path $folder1)) {
Write-Host "❌ Folder 1 nie istnieje: $folder1"
exit
}
if (!(Test-Path $folder2)) {
Write-Host "❌ Folder 2 nie istnieje: $folder2"
exit
}
# Pobranie tylko nazw katalogów (bez plików)
$dirs1 = Get-ChildItem -Path $folder1 -Directory | Select-Object -ExpandProperty Name
$dirs2 = Get-ChildItem -Path $folder2 -Directory | Select-Object -ExpandProperty Name
# Znalezienie wspólnych nazw katalogów
$commonDirs = Compare-Object -ReferenceObject $dirs1 -DifferenceObject $dirs2 -IncludeEqual |
Where-Object { $_.SideIndicator -eq "==" } |
Select-Object -ExpandProperty InputObject
# Dodanie ukośnika na końcu każdej nazwy
$commonDirsWithSlash = $commonDirs | ForEach-Object { "$_\" }
# Zapis wyniku do pliku
$commonDirsWithSlash | Out-File -FilePath "wspolne_katalogi.txt" -Encoding UTF8
Write-Host "✅ Zapisano wspólne katalogi do pliku wspolne_katalogi.txt"
gdzie parametry to katalogi (ze ścieżką).
Skrypt zapisuje do pliku nazwy katalogów, które powtarzają się w obu folderach i można użyć w TC do Załadowania zaznaczenia z pliku ... w panelu drugim jako aktywnym. Najlepiej przetestować na dowolnie utworzonych paru folderach
| #388479 |
Re: Jak zaznaczyć te same foldery w obu panelach
Jeśli dobrze rozumiem chciałbyś zaznaczyć tylko te foldery które istnieją w obydwu panelach?
Powinien działać taki przycisk z łańcuchem wewnętrznych poleceń:
Można to też trochę zmodyfikować, ale na użyteczność to raczej nie wpłynie.
Powinien działać taki przycisk z łańcuchem wewnętrznych poleceń:
Code: Select all
TOTALCMD#BAR#DATA
cm_CompareDirsWithSubdirs,cm_ExchangeSelection,cm_ClearAllFiles,cm_FocusTrg,cm_ExchangeSelection,cm_ClearAllFiles
%COMMANDER_EXE%,26
-1
Re: Jak zaznaczyć te same foldery w obu panelach
Gral, dzięki, działa jak chciałem.
Mam jeszcze inny, choć podobny temat, ale tym razem dotyczący plików a nie folderów.
Korzystam z pakietu Nirsoft oraz plików językowych.
Pliki exe znajdują się w folderach Nirsoft oraz Nirsoft\x64
Pliki językowe *_lng.ini mają początkową nazwę identyczną jak plik *.exe, różną się tylko postfixem.
Przykładowo:
appaudioconfig.exe
appaudioconfig_lng.ini
Zazwyczaj pobrane pliki językowe kopiuję do folderów: Nirsoft oraz Nirsoft\x64, problem w tym, że duża część plików *.ini jest zbędna, ponieważ nie do każdego execka jest dostępna wersja językowa.
Również niektóre pliki exe, 32 bitowe (folder Nirsoft) i 64 bitowe (folder Nirsoft\x64) są zdublowane.
Głównie korzystam z wersji 64 bitowej, chyba, że brakuje takiej wtedy używam 32 bit.
O ile zdublowane pliki exe mogę sobie znaleźć o tyle znalezienie osamotnionych plików *_lng.ini już jest kłopotem.
Jakiś pomysł / sposób na hurtową operację ich znalezienia?
Ramką zaznaczyłem osamotnione, do usunięcia, pliki językowe
Image: https://imgur.com/a/8o1NP3Y
Mam jeszcze inny, choć podobny temat, ale tym razem dotyczący plików a nie folderów.
Korzystam z pakietu Nirsoft oraz plików językowych.
Pliki exe znajdują się w folderach Nirsoft oraz Nirsoft\x64
Pliki językowe *_lng.ini mają początkową nazwę identyczną jak plik *.exe, różną się tylko postfixem.
Przykładowo:
appaudioconfig.exe
appaudioconfig_lng.ini
Zazwyczaj pobrane pliki językowe kopiuję do folderów: Nirsoft oraz Nirsoft\x64, problem w tym, że duża część plików *.ini jest zbędna, ponieważ nie do każdego execka jest dostępna wersja językowa.
Również niektóre pliki exe, 32 bitowe (folder Nirsoft) i 64 bitowe (folder Nirsoft\x64) są zdublowane.
Głównie korzystam z wersji 64 bitowej, chyba, że brakuje takiej wtedy używam 32 bit.
O ile zdublowane pliki exe mogę sobie znaleźć o tyle znalezienie osamotnionych plików *_lng.ini już jest kłopotem.
Jakiś pomysł / sposób na hurtową operację ich znalezienia?
Ramką zaznaczyłem osamotnione, do usunięcia, pliki językowe
Image: https://imgur.com/a/8o1NP3Y
regards
dmocha
dmocha
Re: Jak zaznaczyć te same foldery w obu panelach
Jeżeli mają być zaznaczone określone pliki *_lng.ini , ale tylko te które nie są zdublowane
to można (podobnie jak rozwiązanie wcześniej poleceniem kombinacyjnym - wiele oddzielonych przecinkiem) np. :
Poza tym nie jest tego dużo więc nie używane odczekania cm_Wait {milisekundy}
gdzie: em_zaznaczenie jest do utworzenia najpierw jako usercmd -
lub :
z utworzeniem pliku tekstowego , a w treści ^ :
do znalezienia innych zawartości w katalogach wystarczy zmiana szukanych znaków nazw
to można (podobnie jak rozwiązanie wcześniej poleceniem kombinacyjnym - wiele oddzielonych przecinkiem) np. :
Code: Select all
cm_DirMatch 1, cm_ClearAllFiles, cm_FocusTrg, cm_Rereadsource, cm_FocusTrg, em_zaznaczenie, cm_SaveSelection, cm_SrcAllFiles, cm_RestoreSelection
działania poleceń - zaczynając od panelu docelowego
- cm_DirMatch z parametrem 1 zaznacza nowe pliki, ukrywa takie same pliki - włączana filtracja
- cm_ClearAllFiles czyści panel z zaznaczeń
- cm_FocusTrg to jakby przejście do innego panelu , zmiana aktywnego
- cm_Rereadsource odświeża panel
Poza tym nie jest tego dużo więc nie używane odczekania cm_Wait {milisekundy}
SELECTFILES ...
Code: Select all
SELECTFILES *_lng.inipolecenie zdefiniowane
Code: Select all
LOADSELECTION sciezkaDoPliku-zaznaczenie.txt Code: Select all
*_lng.ini| #388479 |
Re: Jak zaznaczyć te same foldery w obu panelach
Albo w przypadku kiedy mają być zestawione nazwy, które nie mają do pary pliku *.exe - *_lng.ini
wtedy umieszczając m.in. w przycisku w linii 1 :
po kliknięciu wynik zostanie zapisany w katalogu do pliku .txt - na końcu polecenia skryptowego wpis dowolny możliwy.
W przycisku 2 -
polecenie:
parametry:
odczyta z pliku pod kursorem (np.wynik.) jako listę z konkretnymi plikami w panelu
wtedy umieszczając m.in. w przycisku w linii 1 :
Code: Select all
powerShell -Command Get-ChildItem -Filter *_lng.ini | Where-Object {-not (Test-Path ($_.BaseName -replace '_lng$','.exe'))} | Select-Object -ExpandProperty Name > wynik.txt
W przycisku 2 -
polecenie:
Code: Select all
LOADLISTCode: Select all
%P%N| #388479 |
Re: Jak zaznaczyć te same foldery w obu panelach
Niestety nie działa jak chciałem, zaznacza w folderze wszystkie pliki *_lng.ini, również te które powinien "pozostawić" bo istnieje plik exe o tym samym prefixieeltome wrote: 2025-10-29, 17:38 UTC Jeżeli mają być zaznaczone określone pliki *_lng.ini , ale tylko te które nie są zdublowane
to można (podobnie jak rozwiązanie wcześniej poleceniem kombinacyjnym - wiele oddzielonych przecinkiem) np. :Code: Select all
cm_DirMatch 1, cm_ClearAllFiles, cm_FocusTrg, cm_Rereadsource, cm_FocusTrg, em_zaznaczenie, cm_SaveSelection, cm_SrcAllFiles, cm_RestoreSelectiongdzie: em_zaznaczenie jest do utworzenia najpierw jako usercmd -działania poleceń - zaczynając od panelu docelowego
ostatnie 3 polecenia można pominąć dla uproszczenia - bez wyłączenia filtracji automatycznie.
- cm_DirMatch z parametrem 1 zaznacza nowe pliki, ukrywa takie same pliki - włączana filtracja
- cm_ClearAllFiles czyści panel z zaznaczeń
- cm_FocusTrg to jakby przejście do innego panelu , zmiana aktywnego
- cm_Rereadsource odświeża panel
Poza tym nie jest tego dużo więc nie używane odczekania cm_Wait {milisekundy}lub :SELECTFILES ...
Code: Select all
SELECTFILES *_lng.inipolecenie zdefiniowane
z utworzeniem pliku tekstowego , a w treści ^ :Code: Select all
LOADSELECTION sciezkaDoPliku-zaznaczenie.txtdo znalezienia innych zawartości w katalogach wystarczy zmiana szukanych znaków nazwCode: Select all
*_lng.ini
regards
dmocha
dmocha
Re: Jak zaznaczyć te same foldery w obu panelach
Polecenie powershell działa, przycisk LOADLIST również, a czy da się zrobić w USERCMD polecenie, które załaduje plik wynik.txt i od razu zaznaczy pliki, wypisane wewnątrz wynik.txt?eltome wrote: 2025-10-29, 19:20 UTC Albo w przypadku kiedy mają być zestawione nazwy, które nie mają do pary pliku *.exe - *_lng.ini
wtedy umieszczając m.in. w przycisku w linii 1 :
po kliknięciu wynik zostanie zapisany w katalogu do pliku .txt - na końcu polecenia skryptowego wpis dowolny możliwy.Code: Select all
powerShell -Command Get-ChildItem -Filter *_lng.ini | Where-Object {-not (Test-Path ($_.BaseName -replace '_lng$','.exe'))} | Select-Object -ExpandProperty Name > wynik.txt
W przycisku 2 -
polecenie:parametry:Code: Select all
LOADLISTodczyta z pliku pod kursorem (np.wynik.) jako listę z konkretnymi plikami w paneluCode: Select all
%P%N
Chciałbym od razu (nie na raty) jednym przyciskiem zaznaczyć w folderze wszytkie "osierocone" pliki *lng.ini, czyli w USERCMD zapisać jako em_ Twoje polecenie Powershell, potem dać np cm_wait 2000 i po przecinku zaznaczenie z załadowanego pliku jako inny em_
regards
dmocha
dmocha
Re: Jak zaznaczyć te same foldery w obu panelach
To chyba da się zrobić, by zostało wykonane za jednym razem :
- jako tzw. usercmd - np. em_ps , a w tym polecenie PowerShell (znajdujące konkretne pliki i zapisujące wynik do pliku)
- cm_wait 3000 ( tzn.3000/1000=3 sekundy lub opcjonalnie można tu wypróbować inne wartości np.3500 ~ 3,5 sek.)
- polecenie z kategorii usercmd.ini - np. em_z i w tym zaznaczenie z pliku utworzonego ( LOADSELECTION z parametrem odpowiedniego pliku)
| #388479 |

