我有一个创建无效目录的应用程序...例如c:\Program Files\somedirectory.
- 句点是目录名称的一部分。
现在,我已经尝试了我所知道的关于在 delphi 中重命名文件的所有方法。
- 重命名文件(文件 1,文件 2)
- 移动文件(文件 1,文件 2)
- ETC...
我试过获取 Windows 短路径ExtractShortPathName
,但这只是返回一个空字符串。(调用命令提示符:“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 编码。
所以我的问题是:有谁知道允许我重命名无效目录的函数?