Existe um limite de cerca de 260 caracteres no tamanho dos nomes dos ficheiros, no entanto, existe uma forma massiva e perspicaz para contornar este problema: -)
O limite está no subsistema Win32 não no kernel. Se você prefixar um nome de arquivo com \? \ Isso faz com que o subsistema Win32 passe o nome diretamente para o kernel sem qualquer pré-processamento, e o limite não se aplica. O kernel ainda tem um limite, mas é algo bobo como 65.553 caracteres.
Então, enquanto:
xcacls C:\verylongname.txt
não funciona, você deve encontrar:
xcacls \?\C:\verylongname.txt
funciona. Se você estiver usando um nome UNC, a sintaxe é:
xcacls \?\UNC\server\share\verylongname.txt
NB isto só funciona com nomes totalmente qualificados, ou seja, começando com uma letra de unidade. Não funciona com todos os aplicativos de linha de comando do Windows, mas funciona com muitos.