コマンドラインから:
E:\menu\html\tom\val\.svn\tmp\text-base>ver
Microsoft Windows [Version 5.2.3790]
E:\menu\html\tom\val\.svn\tmp\text-base>dir
Volume in drive E is DATA
Volume Serial Number is F047-F44B
Directory of E:\menu\html\tom\val\.svn\tmp\text-base
12/23/2010 04:36 PM <DIR> .
12/23/2010 04:36 PM <DIR> ..
12/23/2010 04:01 PM 0 wtf.com3.csv.svn-base
1 File(s) 0 bytes
2 Dir(s) 170,780,262,400 bytes free
E:\menu\html\tom\val\.svn\tmp\text-base>rename wtf.com3.csv.svn-base com3.csv.svn-base
A duplicate file name exists, or the file
cannot be found.
E:\menu\html\tom\val\.svn\tmp\text-base>dir
Volume in drive E is DATA
Volume Serial Number is F047-F44B
Directory of E:\menu\html\tom\val\.svn\tmp\text-base
12/23/2010 04:36 PM <DIR> .
12/23/2010 04:36 PM <DIR> ..
12/23/2010 04:01 PM 0 wtf.com3.csv.svn-base
1 File(s) 0 bytes
2 Dir(s) 170,753,064,960 bytes free
E:\menu\html\tom\val\.svn\tmp\text-base>
E:\menu\html\tom\val\.svn\tmp\text-base>dir /ah
Volume in drive E is DATA
Volume Serial Number is F047-F44B
Directory of E:\websvn_menu\html\tom\val\.svn\tmp\text-base
File Not Found
このディレクトリには他のファイルがないので、どうしたらよいかわかりません。com3.csv.svn-base
明らかに他のファイルが存在しないのに、Windows XP ではなぜ、ここに既に名前の付いたファイルがあると報告されるのでしょうか?
更新: これは私の仕事用マシン、WinXP 64 ビットで発生しています。しかし、自宅のマシン、WinXP 32 ビットでも失敗します。ただし、Linux では問題なく動作します。これは NTFS ファイルシステムのバグでしょうか?
答え1
チンチンチン。
Windows と DOS には、すべてのディレクトリに存在するファイル名として予約されているデバイス名があります。COM3 もその 1 つです。おそらく、NUL、LPT1、CON (などCOPY CON
) などはご存知でしょう。問題は、名前を COM3.anything.anything に変更しようとしていることです。Windows には DOS 時代の下位互換性がまだいくつか残っており、その互換性を破るようなファイル名の付け方は許可されません。
Wikipedia によれば、名前変更のターゲットとして長い UNC を使用できるはずだそうです\\mycomputer\E$\menu\html\tom\val\.svn\tmp\text-base\com3.csv.svn-base
。
答え2
ディレクトリに隠しファイルがある可能性がありますか? すべての隠しファイルを表示するには、「dir /ah」を試してください。隠しファイルがない場合、「chkdsk /fe:」を実行してファイルシステムの問題がないか確認してください (再起動が必要になる場合があります)。それでも問題が解決しない場合は、ハード ドライブに不良セクタがある可能性があります。不良セクタを確認するには、「chkdsk /re:」を実行してください。