Ismerős a jelenet? Kapsz egy zip fájlt Windows-os környezetből, kibontod Macen, és a szépen elnevezett mappák helyett ilyesmit látsz: Megh˘v˘El?terjeszt?sk?lts?gvet?s. A tartalom megvan, de a neveket alig lehet kibogozni.

Nálam ez elég sűrűn előfordul. Nem a te hibád, és nem is a küldő hibája. Ez egy klasszikus kódolási ütközés.

Mi okozza a problémát?

A Windows régi rendszerek óta egy CP852 nevű karakterkódolást használ a zip fájlok neveiben. A Mac viszont mindent UTF-8-ként vár. Amikor a két rendszer találkozik, a Mac nem tudja értelmezni a magyar betűk bájtjait, és furcsa karakterekkel helyettesíti őket.

A megoldás nem a fájlok átnevezése egyesével – arra nincs idő. A megoldás egy egyszer beállított, aztán örökké működő Automator gyorsművelet.

Mit csinál a gyorsművelet?

Az Automator a macOS beépített eszköze, amivel saját automatizált műveleteket készíthetsz. A mi esetünkben egy olyan „Magyar ZIP kibontó” gyorsműveletet hozunk létre, ami:

  • jobb klikk → Gyorsműveletek (Quick Actions) menüből indítható bármely zip fájlon,
  • kibontja a tartalmat ugyanabba a mappába, ahol a zip van,
  • és automatikusan javítja az összes fájlnevet CP852-ről UTF-8-ra.

Telepítés után egyszer sem kell többé kézzel átnevezgetni.

Hogyan állítsd be?

1. Nyisd meg az Automatort (Alkalmazásokból vagy Spotlight: ⌘ Space → „Automator”).

2. Új dokumentum: Új dokumentum (New Document) → Gyorsművelet (Quick Action).

3. Beállítások felül:

  • „Workflow receives current” → fájlok vagy mappák / files or folders
  • „in” → Finder

4. Add hozzá a szkriptet:

  • A bal oldali keresőbe írd: „Rendszerhéj parancsfájl futtatása” Ennek a szkriptnek lehet ettől eltérő neve is, de valami ilyesmi lesz.

  • Húzd be a munkafelületre
  • Shell: /bin/bash | Pass input: argumentumonként / as arguments
  • Illeszd be a lenti szkriptet

5. Mentsd el ⌘ S → Név: Win ZIP to macOS kibontó

Ennyi. Mostantól minden zip fájlon elérhető a jobb klikk menüből.

A szkript

bash

#!/bin/bash
# Magyar ékezetes zip kibontó – CP852 → UTF-8
# Automator Quick Action szkript

for ZIP_PATH in "$@"; do
    python3 - "$ZIP_PATH" <<'PYTHON'
import sys, os, zipfile

zip_path = sys.argv[1]
dest_dir = os.path.dirname(zip_path)
zip_name = os.path.splitext(os.path.basename(zip_path))[0]
final_dir = os.path.join(dest_dir, zip_name)

def decode_name(info):
    if info.flag_bits & 0x800:
        return info.filename
    raw = info.filename.encode('cp437')
    for enc in ('cp852', 'cp1250', 'latin-1'):
        try:
            return raw.decode(enc)
        except Exception:
            continue
    return info.filename

os.makedirs(final_dir, exist_ok=True)
with zipfile.ZipFile(zip_path, 'r') as zf:
    for info in zf.infolist():
        decoded_name = decode_name(info)
        target_path = os.path.join(final_dir, decoded_name)
        if info.is_dir():
            os.makedirs(target_path, exist_ok=True)
        else:
            os.makedirs(os.path.dirname(target_path), exist_ok=True)
            with zf.open(info) as src, open(target_path, 'wb') as dst:
                dst.write(src.read())
PYTHON

    FINAL_DIR="$(dirname "$ZIP_PATH")/$(basename "$ZIP_PATH" .zip)"
    osascript -e "display dialog \"Kész! Kibontva ide:\n$FINAL_DIR\" buttons {\"OK\"} default button 1"
done

Összefoglalás

ProblémaMegoldás
El?terjeszt?s jelenik megCP852 kódolásütközés
Egyesével átnevezgetésAutomator gyorsművelet
Windows-os környezetből küldött zip fájlnál újraEgyszer beállítod, örökre működik

Ha a gyorsművelet valamiért eltűnne a menüből, egyszerűen hozd létre újra a fenti lépésekkel – az egész beállítás 5 percet vesz igénybe.


Megoldotta a problémádat? Oszd meg ezt a cikket kollégáiddal, akik szintén Windows–Mac vegyes környezetben dolgoznak!

Categorized in:

MacOS,

Last Update: 2026.06.29.