windows-server-2008-r2

Destination Path Too Long Fix (when Moving/Copying a File)


If you are receiving an error Destination Path Too Long when trying to copy or move a file to a folder, try the quick trick below. The reason you are receiving the error is that File Explorer failed to copy/delete/rename any path-name longer than 256 characters.  The instructions below apply to Windows XP, Windows 7, Windows 8, Windows 10, Windows Server 2003, Windows Server 2008, and Windows Server 2012R2/2016/2019.

This is not the limitation of NTFS file system, but the Win32 API library. MAX_PATH value in Win32 API is 260. Most standard applications, including Windows Explorer (File Explorer), do not work correctly with files long paths exceeding 256 characters. Under the file name, Windows understands the entire path, starting with the root of the drive, ending with the last subfolder and the file name itself.

When using Unicode API functions, it is possible to use a path of up to 32767 characters. Thanks to this, many third-party programs (the popular file managers, for example FAR and Total Commander) process files/folders without any problems, the path length to which exceeds 256 characters.

Note. Some programs use the UNC file path format (prefixed with \\?\) to bypass the limitations of the Win32 API. For example, the absolute file path might look like this: \\?\C:\folder1\subfolder1\toolongfilename

Due to max path length limitations, the administrator may encounter the following problems:

  • Users can create files and folders in a shared network folder that the administrator (or management scripts) cannot access locally;
  • Errors when synchronizing roaming profiles;
  • Errors data recovery from shadow copies;
  • Incorrect calculation of the directories size;
  • Lost files during migration and data transfer between servers, etc.

Destination Path Too Long Fix

Full Error: “The file name(s) would be too long for the destination folder. You can shorten the file name and try again, or try a location that has a shorter path.”

Screenshot of Destination Path Too Long error on Windows Server 2008

destination path too long

Screenshot of Destination Path Too Long error on Windows 8:

the file name would be too long for the destination folder

Solution 1. Rename Parent Folder to Decrease the Full Path

The simplest way is to shorten the name of the parent folders, decreasing the total path length (but not always applicable) by simply renaming it.

Solution 2. Create a symbolic link

Another option is to create a symbolic link to a part of the path, thus shortening the total path length. To create a link you can use the following command:

mklink /d c:\home\link “C:\verylongpathhere……”

Next, perform file operations with the directory to which the symbolic link is assigned (c:\home\link in our case).

Solution 3. Use Subst utility

Another option is to associate the problem folder to a virtual disk (in our example, Z:), using the built-in utility Subst. Thus, you can also shorten the path length:

Subst Z: “C:\verylongpathhere……”

Now you can work with the data on the Z: drive, the path to the files in which will not exceed the Win32 API path limit. After your job is finished, you can delete the virtual disk using the Subst with the /d option:

Subst Z: /d

Solution 4. Hidden share path

Step 1

The quickest fix for this, especially if you are needing to simply migrate (move) a lot of folders from one place to another is to map a drive to the drilled down the folder.

What you should is browse to the hidden share path and copy it to your clipboard.

file name too long for destination folder

Step 2

Then browse to “Computer” or “My Computer” and click on Map Network Drive. Depending on your OS it might appear under the tools menu.

the file name is too long for the destination folder

Step 3

Then simply paste your long folder path and hit Finish.

the file names would be too long for the destination folder

Step 4

Now you will be able to copy the files/folders into this location without receiving the error.

Solution 5. How to Enable Long Path Support in Windows 10 (1607) and higher

In Windows 10 Anniversary Update (1607), it became possible to disable the MAX_PATH limit on the Windows operation system level without using prefix \\?\. By default, this feature is disabled.

To enable the built-in support for long paths in Windows 10/Windows Server 2016, you can use the Regedit.exe editor to set the LongPathsEnabled parameter of REG_DWORD in the registry key HKLM\SYSTEM\CurrentControlSet\Control\FileSystem with a value 1.

the file name(s) would be too long for the destination folder

You can change this registry parameter with the following PowerShell command:

Set-ItemProperty -Path HKLM:\SYSTEM\CurrentControlSet\Control\FileSystem -Name LongPathsEnabled -Value 1

Or you can enable long path support via Group Policy Editor (Win + R \ gpedit.msc) Computer Configuration > Administrative Templates > System > Filesystem. Enable the policy Enable NTFS long paths.

destination path too long windows 10

For the changes to take effect in both cases, the computer needs to be rebooted. After a reboot, users and programs will be able to work without restrictions with files, the length of the path to which exceeds 256 characters. Now the files will only be affected by the NTFS file system file path limit of 32767 characters.

However, in some applications, the MAX_PATH check is embedded in the code. About the max file path restrictions for .Net developers, see the Solution 7 below.

Solution 6. Using Robocopy Utility to Copy and Move Files

To copy or move data, you can use the built-in console Windows tool — robocopy. The robocopy utility allows you to correctly copy and synchronize files and directories with long paths.

For example, if you cannot delete the directory due to the path length limit, you can first move data from the directory using robocopy:

ROBOCOPY c:\folder1\folder2\folder3\longpath\ c:\tmp\ /MOVE /E

file name would be too long for the destination folder

After that, you can delete the source directory:

Delete c:\folder1\folder2\folder3\longpath /q /f

Solution 7. Long File Path for .Net Developers

The Base Class Library (BCL) of the development environment for the .Net Framework has a built-in preliminary check for the admissibility of long directory and file names. Therefore .Net Framework developers may encounter a System.IO.PathTooLongException error in their programs.

Check for path length removed from BCL code in .Net Framework 4.6.2. Therefore, developers after updating the version of .Net Framework can use long paths in the UNC path format (\\?\C:\Very_long_path) or when the LongPathsEnabled parameter is enabled in Windows 10/Windows Server 2016, it is possible to work with files with paths of almost any length correctly.

To do this, use Net Framework 4.6.2 (and newer) when building applications, or for older app versions (.Net 4.0), use the following application configuration file:

<?xml version=”1.0″ encoding=”utf-8″?>

<configuration>

<startup>

<supportedRuntime version=”v4.0″ sku=”.NETFramework,Version=v4.0″/>

</startup>

<runtime>

<AppContextSwitchOverrides value=”Switch.System.IO.UseLegacyPathHandling=false;Switch.System.IO.BlockLongPaths=false” />

</runtime>

</configuration>

Solution 8. Long File Path in PowerShell .Net Developers

Because PowerShell is based on .Net, in order for the Get-Item, Get-ChildItem, Remove-Item, etc. cmdlets to work correctly with long file paths, you need to upgrade the .NET Framework to 4.5 or newer and install Windows Management Framework 5.1.

Tip. The current version of PowerShell can be found in the variable $PSVersionTable.

After that, when using file cmdlets instead of Path, you need to use the LiteralPath parameter. For example:

Get-ChildItem -literalpath \?\C:\PS

the filename would be too long for the destination folder

Tip #1

There also is a great tool called “Long Path Tool” that works great to fix this: https://longpathtool.com/. However it isn’t free, the methods above are.

Tip #2

Thank you, Colin Albright, for the comment below. Yes, you can also use 7-zip or any zip utility to fix Destination Path Too Long problem. Sometimes on single files, this could be a better and faster solution. Just zip the folder up, and your good to go.

You may also like:

How to Solve the Windows Update Error 80072ee2? In this article, we will guide you through the most complete guide for solving the Windows update error 80072ee2. Windows errors are notoriously di...
How to Fix The User Profile Service Failed the Sig... Sometimes, when you log on into Windows 10 after entering the username and password, you may see an error The User Profile Service failed the sign-in....
RDP error: This computer can’t connect to the remo... Let’s try to figure out how to fix an RDP connection error This computer can’t connect to the remote computer, which occurs when you are trying to con...
Changing expired password via RDS in Windows Serve... This article shows how the remote users can change their expired RDS password themselves through RDP-connection to the Remote Desktop Services (RDS) f...
00000A58 error code: In-Place Upgrade to Windows 1... If you want to upgrade your system to Windows 10, but it does not work fine and you have an error code 00000A58, this article will help you to fix thi...
Comments
  1. Posted by Frank Zabelli
    • Posted by Brian Jackson
      • Posted by Frank Zabelli
        • Posted by Brian Jackson
      • Posted by len raphael
  2. Posted by Colin Albright
    • Posted by Brian Jackson
      • Posted by Brian Jackson
      • Posted by Judy
  3. Posted by Brian Jackson
  4. Posted by Brian Jackson
  5. Posted by Neng Silvi
    • Posted by Brian Jackson
  6. Posted by BackupChain
  7. Posted by Terri Smith
    • Posted by rick
      • Posted by Net Verse
  8. Posted by johnn
  9. Posted by lewisz
  10. Posted by rick
  11. Posted by raymono
  12. Posted by Zippydsmlee
  13. Posted by eden
  14. Posted by Preeto Kaur
  15. Posted by Michael
  16. Posted by boki_
  17. Posted by bonnie1202
  18. Posted by shubham kumar
  19. Posted by Joël Bajay
  20. Posted by Corey lean
  21. Posted by Daniel Martin
  22. Posted by Avant
  23. Posted by César Augusto
  24. Posted by luis diaz

Add Your Comment