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.