Nazwałem folder nazwą spacji, a teraz po przejściu na system Windows muszę go zmienić

14

Nazwałem folder „”, symbol spacji.

W systemie Linux możesz tworzyć foldery z tylko spacją. Po przejściu na system Windows nie mogę przenieść folderu zawierającego folder o nazwie „”. Nie mogę również przenieść niczego do samego folderu ani zmienić nazwy folderu.

Próbowałem Unlocker 1.9.2 i to też nie działało. Poprosił mnie o wykonanie operacji przy ponownym uruchomieniu, zgodziłem się i nic nie zrobił.

Jak mogę zmienić nazwę folderu o nazwie „” w systemie Windows?

użytkownik285603
źródło
11
Wrócić do Linuksa i zmienić nazwę?
Raystafarian
1
To jest obejście, a nie rozwiązanie. Chociaż może to być najszybszy sposób, jeśli masz LiveCD leżący w pobliżu.
Hennes,
nie, nie mam płyty CD na żywo.
user285603
1
Nie jestem pewien, czy to możliwe. http://msdn.microsoft.com/en-us/library/aa365247%28VS.85%29.aspx stwierdza „Nie kończ nazwy pliku lub katalogu spacją lub kropką. Chociaż bazowy system plików może obsługiwać takie nazwy, powłoka systemu Windows i interfejs użytkownika nie. ” Pojedyncza spacja również liczy się jako zakończenie spacji. :(
Hennes,
2
Zainstaluj Cygwin.
Daniel R Hicks,

Odpowiedzi:

17

W rzeczywistości nie jest prawdą, że jest to niemożliwe w systemie Windows. Można to naprawić za pomocą narzędzi SFUA w podsystemie aplikacji systemu UNIX w systemie Windows 7 (edycja Ultimate). Właśnie to zrobiłem:

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 %

Zamiast używać rmdirmogłem właśnie usunąć spacefolder z pulpitu za pomocą Eksploratora Windows; lub zrobił cokolwiek innego, w tym uzyskanie dostępu do jego zawartości (gdyby miał).

Problemem nie jest sam Windows NT. To reguły podsystemu Win32 dla nazw plików. Podzespół POSIX nie nakłada tych samych reguł.

JdeBP
źródło
ale nie ma możliwości zmiany nazwy folderu?
user285603
3
Powyżej pokazuje zmianę nazwy folderu .
JdeBP,
2
Wystarczy go wyjaśnić sposób bardziej: UNIX sposób zmiany nazwy pliku jest m o v e go do nowej nazwy.
Hennes,
Och ... tak, próbowałem go użyć ... DROGA dla mnie zbyt skomplikowana.
user285603
7
@ user285603 wystarczy pobrać SUA , zainstalować go, a następnie uruchomić podane tutaj polecenia. To nie takie trudne! Czego się spodziewałeś? Magiczne słowo?
terdon
8

Możesz spróbować:
Zmień nazwę folderu za pomocą 7-Zip


Testowany na Win7 x64 z przenośną wersją 7-Zip

Kroki ku reprodukcji:

  1. Utwórz folder (F7) o domyślnej nazwie: „Nowy folder”

  2. Zmień nazwę „Nowy folder” na „”

  3. Zmień nazwę „” z powrotem na „Nowy folder”


Ta odpowiedź jest podobna do tej, która rozwiązuje „Jak usunąć folder zawierający końcowe spacje”: /superuser//a/366583/163596

Ivan Chau
źródło
6

Najlepszym rozwiązaniem jest użycie płyty CD z systemem Linux na żywo, a następnie zmiana nazwy folderu, a następnie użycie go w systemie Windows. AFAIK i inni stwierdzili tutaj, że nie można tego zrobić za pomocą systemu Windows. Gdybym mógł znaleźć sposób, edytowałbym swój post.

avirk
źródło
3
Tryb Nitpick: „Nie można tego zrobić w systemie Windows”. Nie. Nie można tego zrobić przy użyciu zwykłego interfejsu API systemu Windows. Program Windows, który używa własnego interfejsu do systemu plików zamiast interfejsu API win32, nadal może to robić.
Hennes,
Odcienie Norton Utilities od Dos dni, ręcznie edytuj system plików na dysku. Czy jest to system plików FAT (prawdopodobnie nie EXT2-4)? Powinieneś być w stanie zastąpić go na dysku za pomocą odpowiedniego edytora.
mckenzm,
2

Jak wspomniano, problemem są interfejsy użytkownika systemu Windows, a nie system plików Windows.

Jeśli potrafisz pisać w prawie dowolnym języku programowania, a ten język ma funkcję biblioteki, która pozwoli ci manipulować systemem plików, powinieneś być w stanie szybko napisać minimalny program, który pozwoli ci zmienić nazwę tej bestii.

Lub, jak zauważyli inni, możesz spróbować użyć metody wieloznacznej. ? jest jednoznakowym znakiem wieloznacznym; jeśli nie masz żadnych innych plików lub katalogów o nazwach jednoznakowych, możesz wypróbować „ren? foo” i sprawdzić, czy to wystarczy, aby wymknąć się ze sprawdzania specjalnych znaków dla znaku spacji.

keshlam
źródło
Jak to działa z innymi zastrzeżonymi lub specjalnymi znakami, takimi jak <(mniej niż)> (większy niż): (dwukropek) "(podwójny cudzysłów) / (ukośnik) \ (ukośnik odwrócony) | (pionowy pasek lub rura)? (Pytanie mark) * (gwiazdka)?
Zmotywowany
Istnieją sposoby na uniknięcie prawie każdego znaku drukowania w prawie każdym schemacie wprowadzania ciągu. (Czasami też nie są drukowane.) Przeczytaj dokładny podręcznik ... Lub, jak powiedziałem, dopasuj je z użyciem symboli zastępczych.
keshlam
Zakłada się, że masz sposób na ucieczkę od dowolnej postaci, ponieważ wyzwanie, które napotkałem, dotyczy aplikacji innych firm. Na przykład konkretne aplikacje do tworzenia kopii zapasowych lub synchronizacji, szczególnie jeśli przesyłasz pliki z jednego systemu plików do drugiego. Jak sobie z tym poradzić?
Zmotywowany
Jeśli aplikacja nie obsługuje prawidłowej nazwy pliku, jest to problem z tą konkretną aplikacją. Skontaktuj się ze społecznością użytkowników, autorami i / lub dostawcami i zapytaj, czy to błąd, który naprawiają (i czy istnieje obejście), decyzja projektowa (w takim przypadku zmienisz nazwę pliku lub użyjesz innej aplikacji, Twój wybór) lub jeśli po prostu nie rozumiesz, jak to zrobić w tej aplikacji. Tak samo jak w przypadku innych problemów, z którymi masz problem. To samo, co zrobiono w tym samym pytaniu. System operacyjny postępuje właściwie.
keshlam
Co masz na myśli mówiąc, że system operacyjny działa prawidłowo?
Zmotywowany
2

Korzystam z XP, więc nie jestem pewien konkretnych niuansów systemu Windows 7, ale korzystając z Cygwin udało mi się stworzyć folder o nazwie „” zawierający kilka losowych plików, a następnie za pomocą polecenia mv zmienić nazwę folderu i zachować jego zawartość.

cd folder / path / of / the / parent /

mv "" newfoldername

Jaszczurka
źródło
0

Jest to zdecydowanie niesprawdzone, ale z ciekawości może być rozwiązaniem:

  1. Przenieś wszystkie inne foldery znajdujące się w folderze nadrzędnym " "folderu

  2. Uruchom program PowerShell i przejdź do folderu nadrzędnego.

  3. Biegać Remove-Item .\*

Thor
źródło
Z PO: „Nie mogę przenieść niczego do folderu”.
Hennes,
@Hennes uznałem to za „Nie mogę przenieść niczego w folderze o nazwie spacja”, a nie jako „Nie mogę przenieść niczego w folderze nadrzędnym”.
Thor
Mogę się mylić. Czekam, aż OP doda więcej informacji na temat testowania rzeczy (i naprawdę ciekawi, jak sobie z tym poradzić).
Hennes,
@Hennes Musimy tylko poczekać i zobaczyć!
Thor
1
OP chce go zmienić , a nie usunąć , przypuszczalnie dlatego, że chce w tym wszystko utrzymać ...
Izkata