Excel can't save to paths over 218 characters
support.microsoft.com
support.microsoft.com
C:\Users\reasonableusername\Documents\Work\CompuGlobalHyperMegaNet\Non-Project Documents\Administrative\Business Contracts\Fiscal 2013\First Quarter\February\Week Two\TPS Reports Cover Sheet And Memos Template - 3.xls
People who name their folders "Documents and images from the conference in August with CEO" deserve what they get.
Although 260 characters does seem like the Excel team think more like me than the rest of (more reasonable) MS.
I'm surprised you can't imagine working on a path that deep. Path arrangements are frequently thrust upon you in work environments and if you have a lot of work (or a lot of people sharing the same folder hierarchy), you may need a deep path structure to keep it organized. Attacking people as "masochists" because their paths are difficult to type seems unfair.
As for your example though, Windows usually shortens path components longer than 8 characters as the path gets longer (so "Program Files" becomes "PROGRA~1") so long single components aren't as problematic as many shorter components.
Earlier DOS FS (and others) were sometimes limited to 8 characters + 3 for extension and Windows just used to shorten filenames when writing to those FS. But to these days it still causes some problems for legacy software and you might see some PROGRA~1 hanging around but it's not from the OS, it's from the application (or its old out-date API for FS access) doing the shortening to fit the long filename it was given into an 8 characters word it thinks the FS can handle.
Windows's file explorer or file picker doesn't shorten path or filenames when downloading long filename from the web for instance (via Firefox or IE).
In short, paths that deep show you have humans trying to do what computers are better at. Schumpter will be round later to have a word.
Yes its freaking annoying, but I think having a path > 260 chars or a need to pass 5000+ bytes in as line arguments all count as "code smells".
If you are hitting these issues, something else is wrong and in my experience, fixing the other things is much much more productive.
C:\users\myusername\work - good.
C:\users\myusername\work\projectname1\ - still good.
Now checkout here the root of your favorite SCM from a project with 30+ developers.
There's a good chance that you'll run into problems.
/rant
Or wait, let's do it the Unix way! Isn't "etc" obviously "configuration"? And "bin" obviously "programs"? Yes, let's all use short, non-intelligible folder names like they used back in the days of teletypes when we have 24+" monitors. And let's add on top of that some inside jokes from Bell Labs or Berkeley while we're at it ("spawning daemons").
Apple has a limit of 1024 apparently( correct me if I'm wrong )
Solution by microsoft: http://blogs.msdn.com/b/bclteam/archive/2007/02/13/long-path...
Neither 260 chars on Windows nor 1024 chars on the Mac is an actual limit of the filesystem. Both Windows NTFS/FAT32 and Mac HFS+ can actually support thousands of nested folders.
But the "MAX_PATH" concept persists and a large number of programs will fail mysteriously when the limit is reached. Even though the filesystem supports vastly more, we are stuck with operating systems that encourage programmers to needlessly limit things. And there's never been a serious push to improve the situation. Long paths aren't a serious alternative since they're not supported by many common Windows APIs (plus, users get confused when \\?\ appears in front of everything). It's completely insane.
Or better yet, I'd prefer to use a third party lib for that, but I don't know anything small and simple for the command line.
It's not even always MAX_PATH directly that decides when you need \\?\. IIRC for a directory you must fit within MAX_PATH minus the length of a slash and an 8.3 filename.
There are other limits, for example by the time a create gets to the NT APIs the path must fit in a UNICODE_STRING structure which has a maximum length of 0xffff/sizeof(WCHAR). Once I was curious about probing the limits and I created an absolute path that was longer than this limit. I did it with something like this cmd script:
mkdir a
:top
ren a a.tmp
mkdir a
move a.tmp a\
goto :top
Sure enough I was able to create a dir that would stump just about anyone's recursive-directory-delete code. To delete it on my own filesystem I wrote a similar rename-loop to unravel it. If you ever want to play a prank on a Windows programmer who recursively enters directories, show them this.And thus, thanks to Microsoft's slavish devotion to being backwards-compatible with brittle software, we get yet another, slightly different, set of APIs in Windows.
Now, you see how not helpful is this error message? Ok, try that when you are writing a macro in VBA. You literally start regretting the day you were born.
Nothing beats Python stack traces...
To verify the error message that you receive in Excel 2007,
press Ctrl+Shift+I. The following number is displayed in
the lower-right corner of this error message dialog box:
100202
It's no stack trace, but should be helpful in searching for proper error codes vs generic text.I don't want to hear the BS about MAX_PATH. These are really annoying customer-facing flaws that scream "amateur hour".
Also, if you think that's bad, how about this. The TFS build system schedules builds on agent machines using a time format of UTC time of day. Seems fine except for that it is utterly broken in the context of daylight saving time. If you schedule builds that you want to run at a particular local time of day, which almost everyone does as it's an exceedingly common use case, then the actual time of day that build runs will be determined by whether or not the build definition was last saved during the current DST period. For example, if you have a bunch of build definitions and daylight savings time had just ended then builds could run either on time or an hour early.
Extra points also for the super helpful error messages it throws.
Welcome to 1995!
---
[1] 'To specify an extended-length path, use the "\\?\" prefix. For example, "\\?\D:\very long path".' http://msdn.microsoft.com/en-us/library/windows/desktop/aa36...
On a related topic, do you know how difficult it is to search for files whose path are above a certain length on a fresh/default Windows setup? I eventually resorted to installing Python on it just to write a script to do it.
[1] http://msdn.microsoft.com/en-us/library/windows/desktop/aa36...
File name limitation in 75 characters, so now my system renames the file when sending them by email to just the invoiced clients name, and retains the properly formatted one in the folder structure (It's a very detailed one following a "<course code>-<course name> <course date from and to> <student name> - <billable company>.xsl" pattern as it revolves around certifications and needs to follow certain regulations, and obviously exceeds 75 characters with ease)
Hitting these limits is very common on file servers.
Jeez.
--From the article-- Article ID: 213983 - Last Review: September 18, 2011 - Revision: 6.0 APPLIES TO Microsoft Office Excel 2007 Microsoft Excel 2002 Standard Edition Microsoft Excel 2000 Standard Edition Microsoft Excel 2010