« Folder.TitleやFolderItem.Nameはファイル名と違って一意ではありません。 | トップページ | 関連付けファイルのショートカットの引数がドロップで消えないようにする。 »

2007年2月13日 (火)

ファイルのリネーム、大文字/小文字の変更は?

Scripting.FileSystemObjectでリネームを、
File.Name="名前"
とした場合、大文字/小文字の違いだけだとエラーになります。

エラー: 既に同名のファイルが存在しています。
コード: 800A003A
ソース: Microsoft VBScript 実行時エラー

一度、別の名前に変えた上で、直さなければなりません。
これはアトミシティのない嫌な処理です。:-(

Shell.Applicationで、
FolderItem.Name="名前"
なら、エラーになりません。

また、Scripting.FileSystemObjectでリネームした場合、
エクスプローラのフォルダウィンドウ上では、旧項目が削除されて抜け、
新項目が作成されて末尾に追加されたように見えますが、
Shell.Applicationでリネームすれば、項目はそのままの場所で、
名前だけが変わったように見えます。

« Folder.TitleやFolderItem.Nameはファイル名と違って一意ではありません。 | トップページ | 関連付けファイルのショートカットの引数がドロップで消えないようにする。 »