Как я могу удалить (удалить) папку (каталог) с .. в ее имени, как blah..?

Или в этом отношении, как вообще можно создать такую папку?

Что я пробовал (ни одна из этих работ)

  • Удалить из проводника
  • Переименовать из Explorer
  • del blah.. в командной строке
  • ren blah.. blah в командной строке
  • del "blah.."
  • rd blah..
  • rd "blah.."
  • del blah
  • rd blah

Похоже, что имя "санировано" до или внутри API Windows, и предпринимаются попытки выполнить операции с папкой blah (с удалением .. )

2 ответа2

1

Windows позволяет обойти обработку имен, которую выполняет Win32, используя \\?\ префикс (см. эту статью). Таким образом, следующий путь должен работать:

\\?\c:\users\whatever\wherever\blah..

(Да, это должен быть абсолютный путь, так как "текущий каталог" также является Win32.)

Однако я не уверен, какие файловые менеджеры принимают такие пути. Многие программы Win32 делают, но встроенные команды командной строки часто этого не делают, а PowerShell (пишется в .NET) также нет.

0

Обычно достаточно заключить в кавычки все имя файла.

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