Chamei uma pasta de caractere por espaço, e agora que mudei para o Windows, preciso renomeá-la


14

Eu nomeei uma pasta "", o símbolo de um espaço.

No Linux, você pode criar pastas com apenas um espaço. Agora que mudei para o Windows, não consigo mover a pasta que contém a pasta "". Também não posso mover nada na própria pasta ou renomear a pasta.

Eu tentei o Unlocker 1.9.2 e também não funcionou. Ele me pediu para executar a operação na reinicialização, concordei e não fez nada.

Como posso renomear a pasta chamada "" no Windows?


11
Voltar para o Linux e renomeá-lo?
Raystafarian

1
Essa é uma solução alternativa, não uma solução. Embora possa ser a maneira mais rápida, se você tem um liveCD por aí.
Hennes

não, eu não tenho um CD ao vivo.
user285603

1
Não tenho certeza se é possível. http://msdn.microsoft.com/en-us/library/aa365247%28VS.85%29.aspx afirma "Não encerre um nome de arquivo ou diretório com um espaço ou um período. Embora o sistema de arquivos subjacente possa suportar tais nomes, o shell do Windows e a interface do usuário não ". Um único espaço também conta como terminando com um espaço. :(
Hennes

2
Instale o Cygwin.
Daniel R Hicks

Respostas:


17

Na verdade, não é verdade que isso seja impossível no Windows. É possível corrigir isso com os utilitários SFUA no subsistema para aplicativos baseados em UNIX no Windows 7 (edição Ultimate). Eu apenas fiz isso:

JdeBP ~/Desktop %mkdir ' '
JdeBP ~/Desktop %ls -ldQ ' '
drwxr-xr-x  1 JdeBP  None  0 Dec 30 16:14 " "
JdeBP ~/Desktop %mv ' ' space
JdeBP ~/Desktop %rmdir space
JdeBP ~/Desktop %

Em vez de usar, rmdireu poderia ter excluído a spacepasta da área de trabalho usando o Windows Explorer; ou fez qualquer outra coisa, incluindo acessar seu conteúdo (se tiver).

O problema não é o próprio Windows NT. São as regras do subsistema Win32 para nomes de arquivos. O subsistema POSIX não impõe as mesmas regras.


mas não há como renomear a pasta?
user285603

3
O exemplo acima mostra a pasta que está sendo renomeada .
JdeBP

2
Só para esclarecer que uma maneira mais: A maneira unix de renomear um arquivo é m o v o e-lo para um novo nome.
Hennes

Ah ... sim, tentei usá-lo ... MUITO complicado para mim.
user285603

7
@ user285603, você só precisa fazer o download do SUA , instalá-lo e, em seguida, executar os comandos fornecidos aqui. Isso não é tão difícil! O que você estava esperando? Uma palavra mágica?
terdon

8

Você pode tentar:
Renomear a pasta usando o 7-Zip


Testado em Win7 x64 com versão portátil 7-Zip

Passos para reproduzir:

  1. Crie uma pasta (F7) com o nome padrão: "Nova Pasta"

  2. Renomeie "Nova Pasta" para ""

  3. Renomeie "" de volta para "Nova pasta"


Esta resposta é semelhante à que resolve "Como excluir uma pasta que contém espaços à direita": /superuser//a/366583/163596


6

A melhor aposta para você usar um CD ao vivo do Linux, renomear a pasta e usá-la como Windows. A AFAIK e outros declararam aqui que não há como fazer isso usando o Windows. Se eu pudesse encontrar uma maneira, editaria minha postagem.


3
Modo Nitpick: "Não há como fazer isso usando o Windows". Não. Não há como fazer isso usando a API normal do Windows. Um programa do Windows que usa sua própria interface para o sistema de arquivos em vez da API win32 ainda pode fazer isso.
Hennes

Shades of Norton Utilities de Dos days, edite o sistema de arquivos no disco manualmente. É um sistema de arquivos FAT (presumivelmente não EXT2-4)? Você só deve conseguir ultrapassá-lo no disco com um editor adequado.
Mckenzm

2

Como observado, o problema são as interfaces de usuário do Windows, não o sistema de arquivos do Windows.

Se você puder escrever em quase qualquer linguagem de programação, e essa linguagem tiver uma função de biblioteca que permitirá manipular o sistema de arquivos, você poderá escrever rapidamente um programa mínimo que permitirá renomear essa besta.

Ou, como outros observaram, você pode tentar usar a abordagem de curinga. ? é um curinga de um caractere; se você não tiver outros arquivos ou diretórios com nomes de um caractere, tente "ren? foo" e verifique se isso é suficiente para passar rapidamente pelas verificações de caso especial do caractere de espaço.


Como isso funciona com outros caracteres reservados ou especiais, como <(menor que)> (maior que): (dois pontos) "(aspas duplas) / (barra invertida) \ (barra invertida) | (barra ou tubo vertical)? (Pergunta mark) * (asterisco)?
Motivado

Existem maneiras de escapar de quase qualquer caractere de impressão, em quase qualquer esquema de entrada de string. (Às vezes, também não imprimíveis.) Leia o manual fino ... Ou, como eu disse, combine-os com caracteres curinga.
Kevlam

Isso pressupõe que você tem como escapar de qualquer personagem, já que o desafio que encontrei é com aplicativos de terceiros. Para exemplos, aplicativos específicos de backup ou sincronização, especialmente se você estiver transmitindo arquivos de um sistema de arquivos para outro. Como você lida com isso?
Motivado

Se um aplicativo não pode manipular um nome de arquivo legal, isso é um problema com esse aplicativo específico. Entre em contato com a comunidade de usuários, os autores e / ou os fornecedores e pergunte se é um bug que eles estão corrigindo (e se há uma solução alternativa), uma decisão de design (nesse caso, você renomeia o arquivo ou usa outro aplicativo, sua escolha) ou se você simplesmente não entendeu como fazê-lo neste aplicativo. O mesmo que com qualquer outra coisa com a qual você esteja tendo problemas. O mesmo que foi feito nesta mesma pergunta. O sistema operacional está fazendo a coisa certa.
Kkklam

Como assim, o sistema operacional está fazendo a coisa certa?
Motivado

2

Estou executando o XP tão inseguro quanto às nuances específicas do Windows 7, mas usando o Cygwin consegui criar uma pasta chamada "" contendo alguns arquivos aleatórios e, em seguida, usando o comando mv renomeie a pasta e mantenha seu conteúdo.

cd a pasta / path / da / parent /

mv "" newfoldername


0

Isso definitivamente não foi testado, mas por curiosidade, pode ser uma solução:

  1. Mova outras pastas que estão na pasta pai da sua " "pasta

  2. Inicie o PowerShell e navegue até a pasta pai.

  3. Corre Remove-Item .\*


No OP: "Não consigo mover nada na pasta".
Hennes

@Hennes Tomei isso como um "Não consigo mover nada na pasta chamada espaço", não como "Não consigo mover nada na pasta pai".
Thor

Eu poderia estar errado. Esperando o OP adicionar mais informações sobre o teste de coisas (e realmente curioso sobre como lidar com esse tipo de coisa).
Hennes

@Hennes Vamos ter que esperar e ver!
Thor

1
O OP quer mudar o nome , não remova -o, presumivelmente porque ele quer manter as coisas nele ...
Izkata
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.