0XC0000103

STATUS_NOT_A_DIRECTORY (0xC0000103): Real Fixes That Work

0xC0000103 means Windows tried to open something as a folder but it's actually a file — or a path component is broken. Here's how to fix it fast.

0xC0000103 isn't the kind of error that shows you a friendly dialog. It usually turns up in a log, a script output, or an event viewer entry with a status code and nothing else. I got a call last month from a client running an old batch script that archived invoices overnight. It had been working for three years. Then one Tuesday the whole job failed with STATUS_NOT_A_DIRECTORY and nobody had touched the script.

The translation for 0xC0000103 is blunt: something tried to open a path as if it were a folder, and Windows found a file there instead. Or the path it walked into doesn't exist anymore. Either way, the operating system refuses to go further.

Here's the order I work through it.

Cause 1: You (or a script) tried to cd into a file, not a folder

This is the one that shows up 80% of the time in my ticket queue. Someone runs cd C:\Backup\archive.zip and gets hit with the error. Or a scheduled task calls a path that used to be a folder and is now a file.

Open a Command Prompt and run:

dir "C:\path\you\tried\to\open"

If it shows a file where you expected a directory, there's your answer. Fix the path. If the script hardcodes a folder name, check whether someone renamed or replaced it.

Watch for trailing backslashes and spaces

A surprising number of these are caused by a trailing space in the path. Windows trims some of that, but not always — especially if the path was built by concatenating a variable. Run this to spot it:

echo "[%YOURPATH%]"

If you see [C:\Data \] with space inside the brackets, that's your bug. Rename the folder to strip the space, or fix the variable.

Cause 2: A directory junction or symbolic link points to a file

Junctions are how people redirect folders like C:\Users\Public\Documents or an app data cache to another drive. If someone pointed a junction at a file by accident, every process that walks through it hits 0xC0000103.

Check with:

dir /AL C:\path\to\parent

You'll see lines like <JUNCTION> MyFolder [C:\SomeTarget]. Now check the target:

dir C:\SomeTarget

If that returns a file, delete the junction and recreate it correctly:

rmdir C:\path\to\parent\MyFolder
mklink /J C:\path\to\parent\MyFolder C:\RealFolderTarget

Do not use del on a junction — it follows the link and can wipe the target. rmdir removes the link itself, which is what you want.

Cause 3: Filesystem corruption from an unclean shutdown or bad drive

I had a Dell OptiPlex last year that lost power mid-write. The MFT came back with a directory entry pointing into what was actually file data. Any file explorer window into that folder popped 0xC0000103.

The fix is CHKDSK, but run it correctly. From an admin command prompt:

chkdsk C: /f /r

That's the real fix. Not the disk cleanup utility, not sfc /scannow — those won't rebuild a directory table. SFC only handles system files. CHKDSK /f fixes filesystem structures, /r scans for bad sectors and recovers readable data.

If CHKDSK reports millions of errors or can't complete, stop. Back up whatever you can reach and check the drive health with the manufacturer's tool. CrystalDiskInfo will tell you in ten seconds if the drive has SMART warnings.

SMB share got remounted as a file

Rare but it happens: a mapped drive where the server replaced a share with a file of the same name. Disconnect and reconnect the drive letter:

net use Z: /delete
net use Z: \\server\share

If the share itself is gone on the server side, that's your problem — the share name is now pointing at something else.

Cause 4: Application-specific path bug (installer or updater)

Some installers build a path by reading a registry key that was supposed to be a folder but is now a file version string. If you see 0xC0000103 during an update, check the app's config. Common culprits are old Java-based installers and anything built on MSI custom actions that trust arbitrary registry values.

Registry locations to peek at when the error comes from an installer:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths
HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\<VendorName>

If a value that should be a folder path ends with a filename, that's the bug. Fix it, or reinstall the app to reset the key.

Quick reference

SymptomLikely CauseFix
cd or script fails into a pathPath points at a filedir the path, correct it
Trailing space in variableString concat bugecho "[%VAR%]" and trim
Folder redirected to another driveBroken junction/symlinkrmdir then mklink /J
Unclean shutdown, unexplained errorsMFT corruptionchkdsk C: /f /r
Mapped drive stops workingServer share renamednet use /delete and remap
Installer throws 0xC0000103Bad registry valueFix App Paths key or reinstall

One last thing: if you see 0xC0000103 alongside 0xC0000034 (OBJECT_NAME_NOT_FOUND) or 0xC000003A (OBJECT_PATH_NOT_FOUND), the real issue is usually the same path. Fix the path, and both codes go away. Don't chase them as separate problems.

Related Errors in Windows Errors
0X000D10FF NS_S_WMPCORE_PLAYLISTREMOVEITEMABORT (0X000D10FF) fix 0X000000D7 Fix ERROR_NESTING_NOT_ALLOWED (0x000000D7) LoadModule Nesting 0XC00000D9 STATUS_PIPE_EMPTY (0XC00000D9) - Fix for empty pipe read errors 0XC01E0114 STATUS_GRAPHICS_INVALID_ALLOCATION_HANDLE fix – Video memory error

Was this solution helpful?

EP
Erropedia Team
Tech Support Editors
The Erropedia editorial team researches and documents real-world tech errors from across Windows, Linux, macOS, networking, databases, cloud platforms, and more. Every solution is reviewed for accuracy and updated as software and systems evolve.