
Eu tenho um diretório contendo um arquivo que desejo excluir. No entanto, o nome do arquivo é muito longo:
> Remove-Item -Recurse target
Remove-Item : The specified path, file name, or both are too long. The fully qualified
file name must be less than 260 characters, and the directory name must be less than
248 characters.
Também não consigo excluí-lo com shift+ deleteno Windows Explorer:
Também não consigo mover o arquivo porque seu nome é muito longo. Existe alguma maneira de excluir o arquivo? Eu uso o Windows 8.1. Pontos de bônus se você puder explicar como esse arquivo pode acabar na minha unidade e por que o Explorer e o PowerShell não conseguem excluí-lo.
Responder1
Você deve ser capaz de fazer isso usando umDeleteFile()
e caminho usando a notação de caminho longo como \\?\C:\path\to\your\file.class
.
Na página vinculada do MSDN:
Na versão ANSI desta função, o nome está limitado a
MAX_PATH
caracteres. Para estender esse limite para 32.767 caracteres de largura, chame a versão Unicode da função e acrescente"\\?\"
o caminho. Para mais informações, vejaNomeando um arquivo.