Jak mogę zmienić nazwę pliku, którego nazwa jest sama w sobie pełną ścieżką (np. Zaczyna się od „g: \”)? [duplikować]

30

To pytanie ma już odpowiedź tutaj:

Nieumyślnie utworzyłem plik o nazwie g:\filename.csvw systemie Windows XP za pomocą skryptu Python.

Zauważ, że g:\filename.csvto nazwa pliku. W rzeczywistości jest zapisany na dysku F:.

Nie mogę zmienić nazwy za pomocą wiersza polecenia ( ren oldfilename newfilename) lub za F2pomocą okna Eksploratora. Mówi „nie można odczytać z dysku” - Windows uważa, że ​​plik znajduje się na dysku G:

Czy jest jakiś sposób na zmianę nazwy?

Vineet
źródło
nie *filename.csvdziała?
BlueRaja - Danny Pflughoeft
8
Ponadto, mimo że masz już swoje rozwiązanie, czy możesz opublikować kod, który utworzył plik? Nie sądziłem, że interfejsy API plików systemu Windows pozwalają nawet określić niepoprawną nazwę pliku.
BlueRaja - Danny Pflughoeft
5
Powinieneś zgłosić błąd do systemu Linux / Ubuntu. Sterownik systemu plików powinien wiedzieć, że jest to nieprawidłowa nazwa pliku dla docelowego napędu, w związku z czym nie powinien umożliwiać utworzenia takiego pliku. Nadal powinien umożliwiać adresowanie takich plików, jeśli już istnieją, w celu ich usunięcia lub zmiany nazwy.
Devolus
2
W rzeczywistości nie ma nic złego w tej nazwie pliku, jeśli chodzi o NTFS, to tylko ograniczenie systemu Windows, które uniemożliwia prawidłowe odniesienie.
phogg

Odpowiedzi:

21

To nie może być najszybsze rozwiązanie, ale powinno działać.
Jeśli uruchomisz dystrybucję Live Linux, możesz ją usunąć, ponieważ Linux używa innej metody identyfikacji partycji i nie będzie musiał myśleć, że twój plik jest dyskiem. Proponuję ci Parted Magic , który ma wiele przydatnych narzędzi do konserwacji dysku i systemu, a poza obecnym zmartwieniem zawsze jest przydatny, aby mieć go pod ręką.

Sekhemty
źródło
1
Uruchamiam podwójnie z Ubuntu. Można to łatwo wypróbować. Pozwól mi spróbować wyrazić swoją opinię tutaj. Dzięki.
Vineet
7
Gotowy. Z Ubuntu usunąłem. plik. Dzięki.
Vineet
1
Kiedyś miałem najwyżej ocenianą odpowiedź, mówiąc: użyj \\? \ Przed nazwą. Myliłem się i ta metoda nie działa, więc usunąłem swoją odpowiedź. Musisz użyć metody tej odpowiedzi lub jednej z pozostałych odpowiedzi.
Scott Chamberlain,
7

Jeśli masz system operacyjny Windows, możesz użyć następującej sztuczki:

1. Issue command `dir /X`
2. Find out your file in 8 dot 3 notation
3. Use 8 dot 3 notation for file operations as ren, del, copy, print and others.

Uwaga: jeśli udało Ci się utworzyć plik z nazwą conlub inną nazwą zarezerwowaną dla urządzenia z systemem Windows, nie masz szczęścia z tym podejściem.

Don Cesar D'Bazar
źródło
6

Możesz także spróbować ...

Z systemu Windows Command Prompt:

ren "F:???filename.csv" "filename.csv"

lub

ren "F:*.csv" "filename.csv"
Kevin Fegan
źródło
4

Zawsze możesz wypróbować Cygwin . Filtr nazw ścieżek powinien być bardziej zgodny z tego typu błędami, ponieważ nie narusza to standardów POSIX. Zainstaluj bash i fileutils, a następnie spróbujrm /cygdrive/f/g:\\filename.csv

Rich Homolka
źródło