Cgd*_*mic 12 delphi directory file-rename
我有一个创建无效目录的应用程序...例如c:\Program Files\somedirectory. - 句点是目录名称的一部分.
现在,我已经尝试了所有关于在delphi中重命名文件的知识.
我试过让Windows短路径,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);
Run Code Online (Sandbox Code Playgroud)
我知道shellExecute不是这里使用的最佳方法.我只是想让臭味发挥作用.我将担心以后优化和正确的Delphi编码.
所以我的问题是:有没有人知道一个允许我重命名无效目录的功能?
mgh*_*hie 16
如果以特殊方式传递文件夹的名称,则可以使用标准Windows API函数MoveFile():
MoveFile('\\?\D:\invalid_dir.', '\\?\D:\invalid_dir.fixed');
Run Code Online (Sandbox Code Playgroud)
代替
MoveFile('D:\invalid_dir.', 'D:\invalid_dir.fixed');
Run Code Online (Sandbox Code Playgroud)
有关它的更多信息,请参阅MSDN下的"命名文件,路径和命名空间"主题.请注意,它特别建议不要在文件名中放置尾随点.
| 归档时间: |
|
| 查看次数: |
1543 次 |
| 最近记录: |