Windows の場合は、Unix 系 OS とは異なりファイル名の大文字と小文字は区別されません。NAME.TXT も name.txt も同一のファイルとみなされてしまいます。
スポンサーリンク
ファイルの上書きコピー(File.Copy)
例えば、d:\name.txt が既に存在している場合は、次のサンプルコードではファイルの内容は上書きされますが、ファイル名は小文字のまま変更されません。
VB.NET
Dim src As String = "C:\NAME.TXT" Dim dst As String = "D:\NAME.TXT" ' ファイルは上書きコピーされるが、ファイル名は小文字のまま変わらない File.Copy(src, dst, True)
C#
string src = @"C:\NAME.TXT"; string dst = @"D:\NAME.TXT"; // コピー先を大文字のファイル名にしても効果なし // ファイルは上書きコピーされるが、ファイル名は小文字のまま変わらない File.Copy(src, dst, true);
ファイル名も変更する(File.Move)
ファイル名も変更するには、上書きコピーではなく一旦削除後に新規コピーを行うか、上書きコピー後にファイル名を変更する必要があります。サンプルコードは以下の通りです。
VB.NET
Dim src As String = "C:\NAME.TXT" Dim dst As String = "D:\NAME.TXT" ' 1.または2.の処理を追加する ' 1.一旦削除する File.Delete(dst) ' ファイルコピー File.Copy(src, dst, True) ' 2.ファイル名を大文字に変換する(移動する) File.Move(dst, dst)
C#
string src = @"C:\NAME.TXT"; string dst = @"D:\NAME.TXT"; // コピー先を大文字のファイル名にする // 1.または2.の処理を追加する // 1.一旦削除 File.Delete(dst); // ファイルコピー File.Copy(src, dst, true); // 2.ファイル名を大文字に変換する(移動する) File.Move(dst, dst);