Why one file out of two hundred refuses to copy
A copy of two hundred files finishes with one error and no useful message. The cause is almost always the name rather than the contents, and there are only about six causes worth knowing.
Characters Windows will not accept
Nine characters are forbidden in Windows file names: \ / : * ? " < > |. macOS and Linux allow most of them — on Linux only / is off limits — so a file named Q3: final?.xlsx is perfectly legal on a Mac and cannot be written to a Windows disk at all.
Two more rules catch people out. Windows silently strips trailing spaces and dots, so report .pdf and report.. do not survive the trip. And a set of names is reserved for historical device files: CON, PRN, AUX, NUL, COM1–COM9, LPT1–LPT9, with or without an extension. A file called con.txt cannot exist on Windows, which is a genuinely surprising failure the first time you meet it.
The 260-character path limit
Windows has historically limited a full path — drive, every folder, the file name, the extension — to 260 characters. Not the file name: the whole path. It is why a folder tree that worked fine breaks the moment someone extracts it two levels deeper than you did, and why the error appears on some files in a zip and not others.
Long-path support exists on modern Windows but is off by default and not honoured by every application. The reliable fix is to extract closer to the root: C:\tmp\ rather than a path that already runs through Users, a name, Desktop and three project folders before your archive even starts.
Turkish characters, and mojibake inside zips
The zip format did not originally specify an encoding for file names. Archivers wrote them in the local code page, so a zip made on a Turkish Windows machine stores çalışma-özeti.docx in Windows-1254 — and on any machine that assumes UTF-8, that comes out as çalışma. The file is intact; only its name is unreadable.
Modern archivers set a UTF-8 flag and mostly get this right, but Windows Explorer's built-in zip handling is the weak link in both directions. If you are sending an archive with non-ASCII names to someone whose system you do not know, either make it with 7-Zip and force UTF-8, or rename to ASCII before archiving.
There is a second, subtler Turkish problem: the dotted and dotless i. Case-insensitive systems fold I↔i, but Turkish has I↔ı and İ↔i. Software that uppercases a name using Turkish locale rules can turn file.txt into FİLE.TXT, and a lookup that expected FILE.TXT then fails. It is rare, and utterly baffling when it happens.
Two names that look identical but are not
Unicode can write an accented character two ways: as one code point (ö), or as a plain letter plus a combining mark (o + ¨). macOS has traditionally stored file names in the decomposed form; Windows and Linux use the composed one. The two render identically on screen and are different byte sequences.
The result: a folder synced from a Mac can show what appear to be two copies of the same file, a script that looks for görsel.png does not find the görsel.png sitting right there, and a de-duplicator sees no duplicates. If a name looks right and nothing matches it, this is the answer.
Case sensitivity adds to it. Linux treats Photo.jpg and photo.jpg as two files; Windows and macOS by default do not. Copying such a folder to a Mac loses one of them, and the copy reports success.
Names that will not cause any of this
- Stick to ASCII for anything crossing a system boundary — letters, digits, hyphen, underscore, dot.
- Use hyphens instead of spaces. Spaces survive fine in file managers and cause endless quoting problems in scripts, URLs and command lines.
- Start with the date, ISO first:
2026-09-08-quarterly-report.pdf. It sorts chronologically by name in every system on earth. - Keep names under about 80 characters and folder trees shallow, so nobody meets the path limit.
- Never rely on case alone to tell two files apart. One of them will disappear.
- Do not put a colon in a name to write a time or a ratio. It is the single most common forbidden character, and it comes from typing a time naturally.
More guides
Six ways to get a file from your phone to a computer — and where each one breaks
Cable, cloud drive, email, messaging apps, local network and transfer services compared: size ceilings, what each one costs you in privacy, and the specific situation where each method falls apart.
Email attachment size limits — and why your file is bigger than you think
The attachment ceiling for Gmail, Outlook, Yahoo, iCloud, Proton and Zoho, why encoding makes your file about 33% larger in transit, and the four ways past the limit.
What end-to-end encryption actually protects — and what it does not
The difference between HTTPS, encryption at rest and true end-to-end encryption, why the key matters more than the cipher, and the four things E2EE will never save you from.
Try SendMyFile
Encrypt a file in your browser and hand it over with a 9-digit code. No account, and it deletes itself.
Try SendMyFile