Closed
Description
For instance, when I make a path on a windows system, it usually fails with a way too long error:
package main
import "os"
func main() {
err := os.MkdirAll(`C:\Users\AAAA\BBBB\CCCC\DDDD\EEEE\FFFF\GGGG\HHHH\IIII\JJJJ\KKKK\LLLL\MMMM\NNNN\OOOO\PPPP\QQQQ\RRRR\SSSS\TTTT\UUUU\VVVV\WWWW\XXXX\YYYY\ZZZZ\AAAA\BBBB\CCCC\DDDD\EEEE\FFFF\GGGG\HHHH\IIII\JJJJ\KKKK\LLLL\MMMM\NNNN\OOOO\PPPP\QQQQ\RRRR\SSSS\TTTT\UUUU\VVVV\WWWW\XXXX\YYYY\ZZZZ`, os.ModePerm)
if err != nil {
panic(err)
}
}
......
// result
mkdir C:\Users\AAAA\BBBB\CCCC\DDDD\EEEE\FFFF\GGGG\HHHH\IIII\JJJJ\KKKK\LLLL\MMMM\NNNN\OOOO\PPPP\QQQQ\RRRR\SSSS\TTTT\UUUU\VVVV\WWWW\XXXX\YYYY\
ZZZZ\AAAA\BBBB\CCCC\DDDD\EEEE\FFFF\GGGG\HHHH\IIII\JJJJ\KKKK\LLLL\MMMM\NNNN\OOOO\PPPP\QQQQ\RRRR\SSSS\TTTT\UUUU\VVVV: The filename or extensio
n is too long.
To be clear, this is usually fixed by prepending \\?\
to the path.
What version of Go are you using (go version)? go1.5.3
What operating system and processor architecture are you using? windows/amd64 - Windows2012R2
What did you do? Create a very very long path, as per example
What did you expect to see? No error creating the directory
What did you see instead? os.PathError creating the directory