Acabei de notar que não é possível nomear uma pasta ._.
- ela é nomeada ._
. Às vezes, desaparece logo após o nome, mas reaparece após a atualização da exibição. O Windows parece ter um problema com pontos no final de um nome de arquivo - por que isso?
74
.
no Windows.cd -- -_-
pode funcionar. O--
é um marcador comum de "fim de opções".--
por si só significa " este é o fim das opções, trate qualquer coisa que comece com-
um valor literal ". Acabei de testar:mkdir -- -_-
ecd -- -_-
funciona como eu esperava../-_-
deve funcionar também.cd "-_-"
o shell usa as aspas para agrupar, mas não as trata como parte do argumento; erro cominvalid option
Respostas:
O Windows normalmente exige que os arquivos não tenham extensão ou extensão que tenha pelo menos um caractere; não é legal com extensões de comprimento zero, ou seja, nomes de arquivos que terminam com
.
. As pastas também podem ter extensões; portanto, o Windows não deixa seus nomes terminarem com a.
. Fonte, do artigo que DavidPostill vinculou :(Ênfase minha.) Se você tentar finalizar um arquivo ou diretório nomeado com um ponto final, o Windows simplesmente assume que você não queria extensão e a remove, mesmo que você o crie
md
em um prompt de comando.Zona de perigo! Se você desejar diretamente o nome de uma pasta
.
, precisará usar a seqüência de substituição mágica do nome bruto\\?\
. Em um prompt de comando, demd \\?\C:\path\to\container\._.
fato criará uma pasta chamada._.
, mas muitos programas terão problemas com ela, até o Explorer:Esse diretório só pode ser removido com
rd
seguido por seu\\?\
nome ou renomeado com seu nome abreviado (8.3dir /x
).fonte
dir /x
facilita bastante, e outras vezes esse nome é útil.O Windows parece ter um problema com pontos no final de um nome de arquivo? Por que é isso?
O link da fonte abaixo entra em mais detalhes sobre as regras para nomeação.
Arquivos de nome de origem , caminhos e espaços para nome
fonte
Não é um inseto. É por design para evitar problemas de compatibilidade.
É uma sobra dos velhos tempos do DOS.
Os sistemas de arquivos FAT12 (disquete) e FAT16 (FAT16 anteriores ao suporte a nomes longos de arquivos introduzidos no Windows 95) tinham apenas nomes de arquivos armazenados em 11 bytes:
8 bytes para o nome, 3 para a extensão. O "período" entre o nome e a extensão nem foi armazenado. Foi implícito e adicionado automaticamente para fins de exibição.
Os diretórios não tinham extensões. Em vez disso, os 3 bytes da extensão foram preenchidos com caracteres "$" (que eram ilegais em nomes reais).
Como o Windows ainda é compatível com este Explorer e muitos outros componentes do Windows silenciosamente, o período final desaparece para evitar a criação de problemas de compatibilidade.
Como outros já declararam, você pode realmente lidar com essas pastas usando a semântica RAW (prefixo \\? \ Antes do nome do caminho absoluto).
Nos bastidores, NTFS e sistemas de arquivos de rede não têm problemas com esses arquivos e pastas. É apenas um caso do Explorer tentando impedir o usuário de criar algo que pode causar problemas para outro software.
(De fato, existem outras sobras também:
nomes de arquivos como COM, COM1, COM2, AUX, PRN, LPT, LPT1, LPT2, LPT3, CON podem causar problemas semelhantes, onde o Explorer e muitas outras partes do Windows ficam confusas porque esses nomes são nomes "reservados" que também datam da era do DOS.)
fonte
mkdir testfile.name
) e exiba seu nome do DOS no Windows (dir /x
) - você obteráTESTFI~1.NAM
como esperado.O problema aqui é que o Windows (DOS) permitiu nomes de arquivos 8.3 em sistemas de arquivos FAT. Significado, 8 caracteres, seguido de a. seguido por três caracteres. Unix e Linux permitem qualquer caractere, exceto / e \ 0. \ 0 é o terminador da cadeia de caracteres C e / é o separador de diretório. Tudo o resto pode ser usado.
O Windows 95 contornou esse problema mantendo um banco de dados de nomes de arquivos curtos (8.3) nos metadados de nomes longos de arquivos (LFN). Se você limpou os arquivos do sistema operacional Windows 95, ficaria com arquivos com nomes estranhos no disco na sua próxima instalação do Windows 95. Por exemplo, "Meus documentos" pode ser nomeado MYDOCU ~ 1 no disco. Obviamente, se você perdeu os metadados, não seria possível convertê-los facilmente.
O shell precisa lidar com muitos incrementos históricos que permanecem desde os dias do MS-DOS.
Espero que isto ajude
fonte