14

Я назвал папку "", символ для пробела.

В Linux вы можете создавать папки только с пробелом. Теперь, когда я переключился на Windows, я не могу переместить папку, в которой находится папка с именем "". Также я не могу ничего перемещать в самой папке или переименовывать папку.

Я пробовал Unlocker 1.9.2, и он тоже не работал. Он попросил меня выполнить операцию при перезагрузке, я согласился и ничего не сделал.

Как я могу переименовать папку с именем "" из Windows?

6 ответов6

17

На самом деле это не правда, что это невозможно в Windows. Это можно исправить с помощью утилит SFUA в подсистеме для приложений на основе UNIX в Windows 7 (Ultimate edition). Я просто сделал так:

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 %

Вместо использования rmdir я мог бы просто удалить папку space с рабочего стола с помощью Windows Explorer; или сделал что-нибудь еще, включая доступ к его содержимому (если бы оно было).

Проблема не в самой Windows NT. Это правила подсистемы Win32 для имен файлов. POSIX subsysem не навязывает те же правила.

8

Вы можете попробовать:
Переименуйте папку, используя 7-Zip


Протестировано на Win7 x64 с портативной версией 7-Zip

Действия по воспроизведению:

  1. Создать папку (F7) с именем по умолчанию: "Новая папка"

  2. Переименуйте "Новая папка" в «»

  3. Переименовать "" обратно в "Новая папка"


Этот ответ аналогичен ответу на вопрос «Как удалить папку, содержащую завершающие пробелы»: https://superuser.com/a/366583/163596

6

Лучше всего использовать живой компакт-диск Linux, а затем переименовать папку и использовать ее в Windows. AFAIK и другие заявили, что нет способа сделать это с помощью Windows. Если бы я мог найти способ, я бы отредактировал свой пост.

2

Как уже отмечалось, проблема заключается в пользовательских интерфейсах Windows, а не в файловой системе Windows.

Если вы можете писать практически на любом языке программирования, и этот язык имеет библиотечную функцию, которая позволит вам манипулировать файловой системой, вы сможете быстро написать минимальную программу, которая позволит вам переименовать этого зверя.

Или, как уже отмечали другие, вы можете попробовать использовать подстановочный подход. ? является односимвольным символом подстановки; если у вас нет других файлов или каталогов с односимвольными именами, вы можете попробовать "ren?" foo "и посмотрите, достаточно ли этого, чтобы пропустить специальные проверки на наличие пробела.

2

Я использую XP, так что не уверен в специфических нюансах Windows 7, но с помощью Cygwin мне удалось создать папку с именем «», содержащую несколько случайных файлов, а затем с помощью команды mv переименовать папку и сохранить ее содержимое.

Перейдите в папку /path /of /the /parent /

mv "" newfoldername

0

Это определенно не проверено, но из любопытства это может быть решение:

  1. Переместите любые другие папки, которые находятся в родительской папке вашей папки " "

  2. Запустите PowerShell и перейдите в родительскую папку.

  3. Запустите Remove-Item .\*

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .