名前がそれ自体が完全パス(たとえば、「g:\」で始まる)であるファイルの名前を変更するにはどうすればよいですか?[複製]


30

誤っg:\filename.csvて、Pythonスクリプトを介してWindows XPで名前が付けられたファイルを作成しました。

これg:\filename.csvがファイル名であることに注意してください。実際には、F:ドライブに保存されます。

コマンドプロンプト(ren oldfilename newfilename)を使用F2したり、エクスプローラウィンドウで使用したりすることはできません。「ドライブから読み取れません」と表示されます-WindowsはファイルがG:ドライブにあると見なします。

名前を変更する方法はありますか?


動作し*filename.csvますか?
BlueRaja-ダニーPflughoeft

8
また、ソリューションは既にありますが、ファイルを作成したコードを投稿できますか?私は、WindowsのファイルのAPIも無効なファイル名を指定することができ思いませんでした...
BlueRaja -ダニーPflughoeft

5
Linux / Ubuntuにバグを報告する必要があります。ファイルシステムドライバーは、これがターゲットドライブの無効なファイル名であることを認識している必要があり、その結果、そのようなファイルを作成できないようにする必要があります。ただし、それらのファイルを削除または名前変更するために、それらのファイルが既に存在する場合は、それらのアドレスを指定できるようにする必要があります。
デボラス


2
NTFSに関する限り、このファイル名について実際には無効なものはありません。これは、Windowsの制限に過ぎず、適切に参照されません。
phogg

回答:


21

これは最速のソリューションではありませんが、機能するはずです。
Linuxはパーティションを識別するために別の方法を使用し、ファイルがドライブであると強制されることはないため、Live Linuxディストリビューションを起動する場合は削除できます。ディスクとシステムのメンテナンスのための多くの便利なツールを備えたParted Magicをお勧めします。現在の懸念に加えて、手元に置いておくと常に便利です。


1
Ubuntuとデュアルブートしています。これは簡単に試すことができます。ここでフィードバックしてみましょう。ありがとう。
ビネ

7
できた Ubuntuから削除しました。ファイル。ありがとう。
ビネット

1
以前は、名前の前に\\?\を使用するという回答がありました。私は間違っていて、その方法は機能しないので、答えを削除しました。この回答の方法または他の回答のいずれかを使用する必要があります。
スコットチェンバレン

7

OSがWindowsの場合、次のトリックを使用できます。

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.

名前conまたは他のWindowsデバイスの予約名を使用してファイルを作成できた場合、この方法ではうまくいかないことに注意してください。


6

また試すことができます...

WindowsからCommand Prompt

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

または

ren "F:*.csv" "filename.csv"

4

いつでもCygwinを試すことができます。その中のパス名フィルターは、POSIX標準に違反しないため、このタイプのエラーにより準拠する必要があります。bashとfileutilsをインストールしてから試してくださいrm /cygdrive/f/g:\\filename.csv

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.