Move Large Folders Without Breaking Apps Using Junction Links in Windows 10/11
Difficulty: Intermediate | Time Required: 15 minutesRunning out of space on your system drive? Large application folders, game data, development caches, media libraries, and tool directories can quickly fill up
C:. The problem is that many apps expect their files to remain in the original path. If you simply move the folder, the app may break, recreate an empty folder, or fail to launch.A Windows junction link solves this neatly. You move the real folder to another local drive, then place a junction at the original location. To Windows and most apps, the old path still appears to exist, but the data is actually stored somewhere else.
This tutorial applies to Windows 10 and Windows 11 on NTFS-formatted local drives.
Prerequisites
Before you begin, make sure you have:- A local destination drive with enough free space, such as
D:. - Administrator access, especially if the folder is under protected locations like
C:\Program Files. - A backup of important data.
- All related apps fully closed.
- The original folder path and new destination path written down.
Important: Junctions are intended for local folders. They should not be used to point to mapped network drives. For this guide, keep both the original path and destination on local NTFS volumes.
Example Scenario
In this example, we will move:C:\Apps\BigAppDatato:
D:\MovedFolders\BigAppDataThen we will create a junction so apps can still access:
C:\Apps\BigAppDataYou can replace these paths with your own.
Step 1: Close the App Completely
- Save your work.
- Exit the app that uses the folder.
- Check the notification area near the clock for background app icons.
- Open Task Manager and confirm the app is not still running.
Tip: Moving a folder while files are open may result in skipped files, access denied errors, or an incomplete copy.
Step 2: Open Command Prompt as Administrator
- Open the Start menu.
- Type:
cmd- Right-click Command Prompt.
- Select Run as administrator.
- Approve the User Account Control prompt.
mklink syntax. The mklink command is a Command Prompt command.Step 3: Create the Destination Parent Folder
Create the folder that will hold the moved data:mkdir "D:\MovedFolders"Do not create the final
BigAppData folder manually unless you know it is empty. Robocopy can create it during the copy process.Step 4: Copy the Folder to the New Drive
Userobocopy to copy the original folder to the new location:robocopy "C:\Apps\BigAppData" "D:\MovedFolders\BigAppData" /E /COPY:DAT /DCOPY:DAT /R:2 /W:5 /XJ /MT:8 /JWhat these options do:
/Ecopies all subfolders, including empty ones./COPY:DATcopies file data, attributes, and timestamps./DCOPY:DATpreserves directory data, attributes, and timestamps./R:2retries failed copies twice./W:5waits 5 seconds between retries./XJavoids following existing junctions inside the source folder./MT:8uses multithreaded copying./Juses unbuffered I/O, which is useful for large files.
0 through 7 generally indicate that no copy failure occurred. A value of 8 or higher means one or more files failed to copy.Note: If you need to preserve advanced permissions, ownership, or auditing information, you may prefer/COPYALL, but that usually requires elevated permissions and should be used carefully.
Step 5: Run Robocopy One More Time
Before switching over, run the same command again:robocopy "C:\Apps\BigAppData" "D:\MovedFolders\BigAppData" /E /COPY:DAT /DCOPY:DAT /R:2 /W:5 /XJ /MT:8 /JThis second pass is usually much faster. It catches any files that changed during the first copy.
Step 6: Rename the Original Folder
Do not delete the original folder yet. Rename it first so you have an easy rollback option:ren "C:\Apps\BigAppData" "BigAppData.old"After this step, the original path no longer exists, which is required before creating the junction.
Warning:mklinkcannot create a junction if a folder with the same name already exists at the link location.
Step 7: Create the Junction Link
Now create the junction at the original location:mklink /J "C:\Apps\BigAppData" "D:\MovedFolders\BigAppData"If successful, you should see a message indicating that a junction was created.
The first path is the link path. This is the old location the app expects.
The second path is the target path. This is where the data now actually lives.
Step 8: Confirm the Junction Exists
Run:dir /AL "C:\Apps"You should see an entry similar to:
<JUNCTION> BigAppData [D:\MovedFolders\BigAppData]You can also open
C:\Apps\BigAppData in File Explorer. It should appear like a normal folder, but its contents are coming from the new drive.Step 9: Test the App
- Launch the app normally.
- Open or load the data that was moved.
- Confirm settings, projects, saves, or files appear correctly.
- Use the app for a few minutes.
- Reboot Windows and test again.
.old folder in place for a day or two before deleting it.Step 10: Remove the Old Copy After Testing
Once you are confident the app works correctly, you can delete the renamed backup folder:rmdir /S "C:\Apps\BigAppData.old"Be very careful with the path before pressing Enter.
Important: Deleting files from insideC:\Apps\BigAppDatawill delete the real files inD:\MovedFolders\BigAppData, because the junction points there. However, removing the junction folder itself withrmdir "C:\Apps\BigAppData"removes only the junction, not the target folder.
How to Undo the Change
If you want to move the folder back:- Close the app.
- Remove the junction:
rmdir "C:\Apps\BigAppData"- Copy the data back:
robocopy "D:\MovedFolders\BigAppData" "C:\Apps\BigAppData" /E /COPY:DAT /DCOPY:DAT /R:2 /W:5 /XJ /MT:8 /J- Test the app again.
- Delete the moved copy only after confirming everything works.
Tips and Troubleshooting
“Cannot create a file when that file already exists”
The original folder still exists. Rename it or move it out of the way before runningmklink /J.“Access is denied”
Run Command Prompt as administrator. Also check whether the app, antivirus, sync software, or a Windows service is still using files in the folder.The app recreated an empty folder
This usually means the junction was created in the wrong place, or the app was running while you moved the folder. Close the app, remove the empty folder, and recreate the junction using the exact original path.Avoid moving critical Windows folders
Do not use this method forC:\Windows, the whole C:\Users folder, system profile folders, or protected Microsoft Store app directories. Stick to known application data folders, game libraries, project folders, caches, and large non-system directories.Be careful with backup tools
Some backup tools follow junctions and may back up the target data twice. If using Robocopy for backups, consider/XJ to avoid traversing junction points.Conclusion
Junction links are a practical way to free space on your Windows 10 or Windows 11 system drive without forcing apps to learn a new folder path. By copying the data safely, renaming the original folder, and creating a junction withmklink /J, you can move large folders to another local drive while keeping the original path intact.Used carefully, this technique is ideal for bulky app data, game folders, development tools, and media-heavy directories.
Key Takeaways:
- Junctions let apps keep using the old folder path while data lives elsewhere.
- Use
robocopyfirst, then create the junction only after verifying the copy. - Keep the old folder temporarily as a rollback option.
- Avoid moving core Windows folders or protected system locations.
- Use
rmdirto remove a junction itself without deleting the target folder.
This tutorial was generated to help WindowsForum.com users get the most out of their Windows experience.
Reference Metadata
- Microsoft Learn:
mklinkcommand reference. - Microsoft Learn: Hard links and junctions in NTFS.
- Microsoft Learn:
robocopycommand reference.