Hi everyone,
As entries for event 3 are opened, it shouldn’t be a secret anymore, how you fulfilled MAX_PATH requirement.
I personally used an old trick for creating folder symbolic link and linking it in the end of the path of the long directory.
For example c:\L\1 was linked to d:\<some\very-very\long\path\of\up\to\250 chars>
By irony, today I had to move around 100 GB of data between cluster nodes and of course those folder structure hit the MAX_PATH limit. I remembered that according to MS Article MAX_PATH is not applied when you use \\?\c: or \\.\c: notation to access the file system. Has anyone used some compatible cmdlet that works with this notation?
Actually, built-in Explorer in Windows 2003 supports the above notation: if you type it in the Run window and press Enter you will see the Explorer window with the specific notation in path. You should put a path to a folder, rather than to a drive, e.g. \\?\c:\temp would work, while \\?\c: will not. the explorer window will open showing regular path, however you will be able to handle long paths exceeding 260 chars. But it’s not a solution, as it doesn’t properly handle files with non-ascii symbols in name. Below is a screenshot of the same folder, made using the notation above and regular navigation. Pay attention to the number of files :).
If you think your idea was simple enough to be used widely, can you share it here? I saw one of the team has re-written the Microsoft IO Experimental assembly – such thing scares me, as I’m more administrator than coder/scripter/programmer.
Thanks in advance!