CTRL+M zmiana konkretnej litery w nazwie plików.

Moderated forum for Polish users

Moderators: Gral, eltome, Usher

Post Reply
faza0123
Junior Member
Junior Member
Posts: 4
Joined: 2025-03-12, 09:23 UTC

CTRL+M zmiana konkretnej litery w nazwie plików.

Post by *faza0123 »

Dzień dobry,
potrzebuje zmienić konkretną literę w nazwach plików mała/DUŻA.
np.
N-34-b-c-2.tif na N-34-B-c-2.tif
N-34-a-c-2.tif na N-34-A-c-2.tif

Proszę o pomoc.
FAZA
User avatar
white
Power Member
Power Member
Posts: 5656
Joined: 2003-11-19, 08:16 UTC
Location: Netherlands

Re: CTRL+M zmiana konkretnej litery w nazwie plików.

Post by *white »

Użyj następujących kodów w Narzędziu wielokrotnej zamiany:
[U] Wszystkie znaki po tej pozycji pisane wielkimi literami
[n] Wszystkie znaki po tej pozycji ponownie jak w oryginalnej nazwie (wielkie/małe litery bez zmian)
faza0123
Junior Member
Junior Member
Posts: 4
Joined: 2025-03-12, 09:23 UTC

Re: CTRL+M zmiana konkretnej litery w nazwie plików.

Post by *faza0123 »

a mógłbyś pokazać na przykładzie?
User avatar
white
Power Member
Power Member
Posts: 5656
Joined: 2003-11-19, 08:16 UTC
Location: Netherlands

Re: CTRL+M zmiana konkretnej litery w nazwie plików.

Post by *white »

Matryca zamiany: nazwa pliku:

Code: Select all

[N1-5][U][N6][n][N7-]
Jeżeli pozycja nie jest zawsze taka sama, można użyć wyrażenia regularnego, na przykład:

Code: Select all

Sz&ukaj:    ^([^-]+-[^-]+-)([^-]+)
&Zamieñ na: $1\U$2

[X] Regwy
User avatar
eltome
Junior Member
Junior Member
Posts: 72
Joined: 2023-07-29, 15:54 UTC
Location: Warmian-Masurian Voivodeship

Re: CTRL+M zmiana konkretnej litery w nazwie plików.

Post by *eltome »

Tak jak napisał white .

Są różne możliwości. Pierwsza metoda pasuje dla zmiany wielkości z małej na dużą znaku nr 6 od początku ciągu ze stałą długością .
W nawiasach kwadratowych oznacza się jakby oddzielone sekwencje,
U to po prostu symbol (od Upper z angielskiego) , opcja konkretnej zmiany i dalej można ustalić ilości tego,
n to przejście by dalej w nazwie było bez zmian z podaniem zakresu.
np.
N-34-b-c-2.tif na N-34-B-c-2.tif
N-34-a-c-2.tif na N-34-A-c-2.tif
Wtedy użycie jest następujące:
  1. Zaznaczenie plików do zmiany nazw
  2. Skrót klawiaturowy CTRL+M otwiera w dodatkowym oknie - narzędzie wielokrotnej zmiany
  3. Kod w elemencie pod napisem "Matryca zmiany: nazwa pliku:"

    Code: Select all

    [N1-5][U][N6][n][N7-10]
     
  4. Start! rozpoczyna to co pokazane bez błędu , Enter też
#388479
User avatar
eltome
Junior Member
Junior Member
Posts: 72
Joined: 2023-07-29, 15:54 UTC
Location: Warmian-Masurian Voivodeship

Re: CTRL+M zmiana konkretnej litery w nazwie plików.

Post by *eltome »

A w innym razie, można zaznaczyć RegWy (Regularne Wyrażenia)

i wpis pod "Szukaj & Zamień":

Code: Select all

^(\w+-\d+-)([a-z])(.*)
 
  • gdzie:
    ^ to symbol rozpatrywania czegoś od początku i pomijania reszty nieistotnej, ale można też od końca.
    Nawiasy dzielą na umowne składowe ($) by później odnieść się do poszczególnych ($1) i kolejnych ($2).
    \w oznacza m.in. znaki literowe
    +- oznacza tylko myślnik
    \d to dziesiętne liczby
    [a-z] to inaczej dowolne litery od a do z , czyli tylko alfabet małych
    .* także inaczej -.+ , pozostała część
W "Zamień na":

Code: Select all

$1\U$2$3
 
  • gdzie:
    \ oznacza zastąpienie (U we fragmencie zamienia litery na większe)
#388479
faza0123
Junior Member
Junior Member
Posts: 4
Joined: 2025-03-12, 09:23 UTC

Re: CTRL+M zmiana konkretnej litery w nazwie plików.

Post by *faza0123 »

Niestety żaden sposób u mnie nie działa.
Co robie nie tak?
https://megawrzuta.pl/jcj8ryju
User avatar
white
Power Member
Power Member
Posts: 5656
Joined: 2003-11-19, 08:16 UTC
Location: Netherlands

Re: CTRL+M zmiana konkretnej litery w nazwie plików.

Post by *white »

faza0123 wrote: 2025-03-14, 07:59 UTC Niestety żaden sposób u mnie nie działa.
Co robie nie tak?
https://megawrzuta.pl/jcj8ryju
Odpowiedź modelu AI:

Widzę, że masz problem z działaniem podanych rozwiązań, i przeanalizowałem Twoje przykładowe nazwy plików z linku. Masz rację, że żaden z podanych sposobów nie działa w Twoim przypadku, ale to nie Twoja wina – problem leży w tym, że wcześniejsze odpowiedzi były dostosowane do nazw plików typu N-34-b-c-2.tif, gdzie litera do zmiany na wielką była w trzeciej sekcji (po drugim myślniku). Twoje pliki, np. N-34-61-d-c-4-1.asc, mają inną strukturę, bo litera, którą chcesz zmienić (np. "d" na "D"), znajduje się w czwartej sekcji. Dlatego te rozwiązania nie pasują. Wyjaśnię Ci, dlaczego tak się dzieje i jak to poprawić.

Dlaczego nie działa?

Pierwsza metoda (Matryca zmiany):
Kod [N1-5][N6][n][N7-] (użyty przez użytkownika white) działa tak, że zmienia na wielką literę dokładnie szósty znak w nazwie pliku (np. "b" w N-34-b-c-2.tif). Ale w Twoich plikach, jak N-34-61-d-c-4-1.asc, litera "d" jest gdzie indziej – na pozycji 9. Ten sposób zakłada stałą pozycję litery, a u Ciebie się ona przesuwa.

Druga metoda (Wyrażenia regularne):
Rozwiązania takie jak ^(\w+-\d+-)([a-z])(.*) (od eltome) czy ^([^-]+-[^-]+-)([^-]+) (od white) są oparte na wyrażeniach regularnych i zmieniają na wielką literę trzecią sekcję w nazwie pliku (np. "b" w N-34-b-c-2.tif). W Twoich plikach, np. N-34-61-d-c-4-1.asc, litera "d" jest w czwartej sekcji, więc te wzorce jej nie znajdują, bo szukają za wcześnie.

Jak to zrozumieć i naprawić?

Twoje pliki mają strukturę:
N-34-61-d-c-4-1.asc

Czyli:
"N" (pierwsza sekcja),
"34" (druga sekcja),
"61" (trzecia sekcja),
"d" (czwarta sekcja – to tę literę chcesz zmienić na "D"),
reszta ("c-4-1.asc").

Żeby zadziałało, musimy powiedzieć Total Commanderowi: "zmień na wielką literę czwartą sekcję po myślniku". Oto rozwiązanie:

Rozwiązanie 1: Litera w czwartej sekcji

Zaznacz opcję [X] RegWy (Wyrażenia regularne).
W polu Szukaj:
^(([^-]+-){3})([^-]+)
W polu Zamień na:
$1\U$3

Co to oznacza?
^ – zaczyna od początku nazwy pliku.
(([^-]+-){3}) – łapie dokładnie trzy sekcje oddzielone myśnikami (np. "N-34-61-") i zapisuje je jako grupa $1. [^-] oznacza "wszystko oprócz myślnika", a {3} to "powtórz trzy razy".
([^-]+) – łapie czwartą sekcję (np. "d") jako grupa $3.
$1\U$3 – składa nazwę z powrotem: $1 zostaje bez zmian ("N-34-61-"), $3 zmienia na wielką literę ("\U" to "Uppercase", czyli "D").

Rozwiązanie 2: Litera w trzeciej lub czwartej sekcji

Jeśli masz pliki, gdzie litera do zmiany jest czasem w trzeciej sekcji (np. N-34-b-c-2.tif), a czasem w czwartej (np. N-34-61-d-c-4-1.asc), potrzebujesz bardziej elastycznego wzorca. Zakładamy, że nazwa zaczyna się od liter (np. "N"), potem jest myślnik, a następnie jedna lub dwie sekcji liczbowych (np. "34" lub "34-61"), zanim dojdziemy do litery do zmiany. Oto rozwiązanie:

Zaznacz opcję [X] RegWy (Wyrażenia regularne).

W polu Szukaj:
^([a-z]+-)((\d+-){1,2})([^-]+)
W polu Zamień na:
$1$2\U$4

Co to oznacza?
^ – zaczyna od początku nazwy pliku.
([a-z]+-) – łapie pierwszą sekcję literową z myślnikiem (np. "N-") jako grupa $1.
((\d+-){1,2}) – łapie jedną lub dwie sekcje liczbowe z myślnikami (np. "34-" lub "34-61-") jako grupa $2. {1,2} oznacza "od jednej do dwóch takich sekcji".
([^-]+) – łapie następną sekcję (literę do zmiany, np. "b" lub "d") jako grupa $4.
$1$2\U$4 – składa nazwę: $1 ("N-") i $2 ("34-" lub "34-61-") bez zmian, $4 na wielką literę (np. "b" → "B" lub "d" → "D").

To drugie rozwiązanie jest bardziej uniwersalne i zadziała w obu przypadkach.
faza0123
Junior Member
Junior Member
Posts: 4
Joined: 2025-03-12, 09:23 UTC

Re: CTRL+M zmiana konkretnej litery w nazwie plików.

Post by *faza0123 »

Bardzo dziękuję za pomoc i przede wszystkim za gruntowne wytłumaczenie zasad działania CTRL+M i wyrażeń regularnych. Narobiłem trochę zamieszania z przykładem i faktyczną nazwą pliku ale dzięki temu mam wszystko czarno na białym.
Wielkie dzięki :D
Post Reply