У меня есть приложение, которое создает недопустимые каталоги...
например c:\Program Files\somedirectory.
- период является частью имени каталога.
Теперь я пробовал все, что знаю о переименовании файла в delphi.
- RenameFile (file1, file2)
- MoveFile (File1, File2)
- и т.д...
Я попытался получить короткий путь к окнам 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 позже.
Итак, мой вопрос: кто-нибудь знает о функции, которая позволит мне переименовать недопустимый каталог?