У меня есть приложение, которое создает недопустимые каталоги ... например. c:\Program Files\somedirectory.
- период является частью имени каталога.Delphi: Переименование недопустимой папки
Теперь я пробовал все, что знаю о переименовании файла в delphi.
- RenameFile (file1, file2)
- MoveFile (File1, File2)
- и т.д ...
Я пытался получать окна короткий путь ExtractShortPathName
, но это просто возвращает пустую строку , (позвонить в интерпретаторе команд: «ПЕРЕИМЕНОВАТЬ ShortOldName NEWNAME»)
Теперь я знаю, что могу вручную сделать это в ЦМД, но я не собираюсь тратить время, чтобы пройти через все мои файлы и делать это;)
Вот немного моего кода:
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.
Итак, мой вопрос: кто-нибудь знает о функции, которая позволит мне переименовать недопустимый каталог?
Работал идеально. Спасибо! Поиск везде. Я знал, что SO не разочарует. –