無効なディレクトリを作成するアプリケーションがあります...例c:\Program Files\somedirectory.
-ピリオドはディレクトリ名の一部です。
今、私はデルファイでファイルの名前を変更することについて知っているすべてを試しました。
- RenameFile(file1、file2)
- MoveFile(File1、File2)
- 等...
Windowsの短いパスを取得しようとしましたExtractShortPathName
が、これは空の文字列を返します。(commandPromptを呼び出すには: "RENAME ShortOldName NewName")
これで、cmdで手動で実行できることがわかりましたが、すべてのファイルを調べて実行するために時間を費やすつもりはありません;)
これが私のコードの一部です:
xshortname := ExtractFileName(ExtractShortPathName(ns + oldName));
xNewName := newName;
cmdTxt := PWideChar('/C cd ' + ns);
cmdTxt2 := PWideChar(cmdTxt + '&&' + ' RENAME ' + xshortname + ' ' + #34 + xNewName + #34);
ShellExecute(0, nil, 'cmd.exe', cmdTxt2, nil, SW_SHOWNORMAL);
shellExecuteがここで使用するのに最適なメソッドではないことを私は知っています。私はただ臭いを働かせようとしています。後で、最適化と適切なDelphiコーディングについて心配します。
だから私の質問は:誰かが私が無効なディレクトリの名前を変更できるようにする関数を知っていますか?