我有一个程序创建了无效的目录... 例如:c:\Program Files\somedirectory.
- 句点是目录名称的一部分。
我已经尝试了我所知道的关于用 Delphi 重命名文件的所有方法:
- RenameFile(file1, file2)
- MoveFile(File1, File2)
- 等等...
我尝试使用 ExtractShortPathName
获取 Windows 短路径,但这只返回一个空字符串。
(在命令提示符中调用:“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编码。
所以我的问题是:有人知道一个函数可以让我重命名一个无效的目录吗?