Tôi có một ứng dụng tạo Thư mục không hợp lệ ... ví dụ: c:\Program Files\somedirectory.
- dấu chấm là một phần của tên thư mục.Delphi: Đổi tên Thư mục Không hợp lệ
Bây giờ, tôi đã thử mọi thứ mà tôi biết về cách đổi tên tệp trong delphi.
- RenameFile (file1, file2)
- MoveFile (File1, File2)
- vv ...
Tôi đã cố gắng nhận được cửa sổ ngắn con đường ExtractShortPathName
nhưng điều này chỉ trả về một chuỗi rỗng . (gọi trong nhắc lệnh: "ĐỔI TÊN ShortOldName NewName")
Bây giờ tôi biết tôi có thể tự làm điều đó trong cmd nhưng tôi không muốn dành thời gian để đi qua tất cả các file của tôi và làm điều đó;)
Dưới đây là một chút của mã của tôi:
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);
tôi biết ShellExecute không phải là phương pháp tốt nhất để được sử dụng ở đây. Tôi chỉ cố gắng để có được stinker để làm việc. Tôi sẽ lo lắng về việc tối ưu hóa và mã hóa Delphi thích hợp sau này.
Vì vậy, câu hỏi của tôi là: Có ai biết chức năng cho phép tôi đổi tên một thư mục không hợp lệ không?
Làm việc hoàn hảo. Cảm ơn bạn! Tìm kiếm ở mọi nơi. Tôi biết SO sẽ không thất vọng. –