J'ai nommé un dossier comme caractère pour l'espace, et maintenant que je suis passé à Windows, je dois le renommer

14

J'ai nommé un dossier "", le symbole d'un espace.

Sous Linux, vous pouvez créer des dossiers avec juste un espace. Maintenant que je suis passé à Windows, je ne peux pas déplacer le dossier contenant le dossier "". Je ne peux pas non plus déplacer quoi que ce soit dans le dossier lui-même, ni renommer le dossier.

J'ai essayé Unlocker 1.9.2, et cela n'a pas fonctionné non plus. Il m'a demandé d'effectuer l'opération au redémarrage, j'ai accepté et cela n'a rien fait.

Comment renommer le dossier nommé "" depuis Windows?

user285603
la source
11
Revenez à Linux et renommez-le?
Raystafarian
1
C'est une solution de contournement, pas une solution. Bien que ce soit le moyen le plus rapide si vous avez un CD live qui traîne.
Hennes
non, je n'ai pas de CD live.
user285603
1
Je ne suis pas sûr que ce soit possible. http://msdn.microsoft.com/en-us/library/aa365247%28VS.85%29.aspx indique "Ne pas terminer un nom de fichier ou de répertoire avec un espace ou un point. Bien que le système de fichiers sous-jacent puisse prendre en charge de telles noms, le shell Windows et l'interface utilisateur ne fonctionne pas. " Un espace unique compte également comme se terminant par un espace. :(
Hennes
2
Installez Cygwin.
Daniel R Hicks

Réponses:

17

Ce n'est en fait pas vrai que cela est impossible sous Windows. Il est possible de résoudre ce problème avec les utilitaires SFUA sur le sous - système pour les applications UNIX sous Windows 7 (édition Ultimate). Je viens de le faire:

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 %

Au lieu d'utiliser, rmdirj'aurais pu supprimer le spacedossier du bureau à l'aide de l'Explorateur Windows; ou fait autre chose, y compris l'accès à son contenu (s'il en avait).

Le problème n'est pas Windows NT lui-même. Ce sont les règles du sous-système Win32 pour les noms de fichiers. Le sous-système POSIX n'impose pas les mêmes règles.

JdeBP
la source
mais aucun moyen de renommer le dossier?
user285603
3
Ce qui précède montre le dossier en cours de renommage .
JdeBP
2
Juste pour clarifier une manière plus: La façon unix de renommer un fichier est à m o v e à un nouveau nom.
Hennes
Oh ... ouais, j'ai essayé de l'utiliser ... beaucoup trop compliqué pour moi.
user285603
7
@ user285603 il vous suffit de télécharger SUA , de l'installer puis d'exécuter les commandes fournies ici. Ce n'est pas si difficile! Qu'attendiez-vous? Un mot magique?
terdon
8

Vous pouvez essayer:
renommer le dossier à l'aide de 7-Zip


Testé sur Win7 x64 avec version portable 7-Zip

Étapes à reproduire:

  1. Créer un dossier (F7) avec le nom par défaut: "Nouveau dossier"

  2. Renommez "Nouveau dossier" en ""

  3. Renommez "" en "Nouveau dossier"


Cette réponse est similaire à celle qui résout "Comment supprimer un dossier contenant des espaces de fin": /superuser//a/366583/163596

Ivan Chau
la source
6

Le meilleur pari pour vous d'utiliser un CD live de Linux, puis de renommer le dossier, puis de l'utiliser sous Windows. AFAIK et d'autres ont déclaré ici qu'il n'y a aucun moyen de le faire en utilisant Windows. Si je pouvais trouver un moyen, je modifierais mon message.

avirk
la source
3
Mode Nitpick: "Il n'y a aucun moyen de le faire en utilisant Windows". Non. Il n'y a aucun moyen de le faire en utilisant l'API Windows standard. Un programme Windows qui utilise sa propre interface avec le système de fichiers plutôt que l'API win32 peut toujours le faire.
Hennes
Shades of Norton Utilities de Dos days, modifiez le système de fichiers sur le disque à la main. S'agit-il d'un système de fichiers FAT (probablement pas EXT2-4)? Vous devriez juste pouvoir le surclasser sur le disque avec un éditeur approprié.
mckenzm
2

Comme indiqué, le problème vient des interfaces utilisateur Windows et non du système de fichiers Windows.

Si vous pouvez écrire dans presque n'importe quel langage de programmation, et que ce langage a une fonction de bibliothèque qui vous permettra de manipuler le système de fichiers, vous devriez pouvoir écrire rapidement un programme minimal qui vous permettra de renommer cette bête.

Ou, comme d'autres l'ont noté, vous pouvez essayer d'utiliser l'approche générique. ? est un caractère générique à un seul caractère; si vous n'avez pas d'autres fichiers ou répertoires avec des noms à un caractère, vous pouvez essayer "ren? foo" et voir si cela suffit pour passer outre les vérifications spéciales pour le caractère espace.

keshlam
la source
Comment cela fonctionne-t-il avec d'autres caractères réservés ou spéciaux tels que <(moins que)> (supérieur à): (deux points) "(guillemet double) / (barre oblique) \ (barre oblique inverse) | (barre verticale ou tuyau)? (Question (astérisque)?
Motivé le
Il existe des moyens d'échapper à presque tous les caractères d'impression, dans presque tous les schémas d'entrée de chaîne. (Parfois non imprimables aussi.) Lisez le manuel fin ... Ou, comme je l'ai dit, faites-les correspondre.
keshlam
Cela suppose que vous avez les moyens d'échapper à n'importe quel personnage car le défi que j'ai rencontré concerne les applications tierces. Pour des exemples d'applications de sauvegarde ou de synchronisation particulières, en particulier si vous transmettez des fichiers d'un système de fichiers à un autre. Comment les abordez-vous?
Motivé le
Si une application ne peut pas gérer un nom de fichier légal, c'est un problème avec cette application particulière. Contactez la communauté des utilisateurs, les auteurs et / ou les fournisseurs et demandez-leur s'il s'agit d'un bogue qu'ils corrigent (et s'il existe une solution de contournement), une décision de conception (auquel cas vous renommez le fichier ou utilisez une autre application, votre choix), ou si vous ne comprenez pas comment le faire dans cette application. Comme pour tout ce qui vous pose problème. Même chose que pour cette question. L'OS fait ce qu'il faut.
keshlam
Que voulez-vous dire que l'OS fait la bonne chose?
Motivé le
2

J'exécute XP donc pas sûr des nuances spécifiques de Windows 7, mais en utilisant Cygwin, j'ai pu créer un dossier nommé "" contenant quelques fichiers aléatoires, puis en utilisant la commande mv renommer le dossier et conserver son contenu.

cd le dossier / path / of / the / parent / folder

mv "" newfoldername

Lézard
la source
0

Ce n'est certainement pas testé, mais par curiosité, cela peut être une solution:

  1. Déplacez tous les autres dossiers qui se trouvent dans le dossier parent de votre " "dossier

  2. Lancez PowerShell et accédez au dossier parent.

  3. Courir Remove-Item .\*

Thor
la source
De l'OP: "Je ne peux rien déplacer dans le dossier."
Hennes
@Hennes J'ai pris cela comme "je ne peux rien déplacer dans le dossier qui est nommé un espace", pas comme "je ne peux rien déplacer dans le dossier parent".
Thor
Je peux me tromper. En attendant l'OP pour ajouter plus d'informations sur le test des choses (et vraiment curieux de savoir comment gérer ce genre de chose).
Hennes
@Hennes Nous devrons simplement attendre et voir!
Thor
1
L'OP veut le renommer , pas le supprimer , probablement parce qu'il veut garder les choses dedans ...
Izkata