使用 Qt 重命名符号链接
Posted
技术标签:
【中文标题】使用 Qt 重命名符号链接【英文标题】:Rename a symlink with Qt 【发布时间】:2015-08-21 15:05:30 【问题描述】:我使用QFile::link()
function 创建了一个符号链接,它工作正常,但在路上,我想重命名链接。目标保持不变,只是链接名称发生了变化。有没有办法做到这一点?
我对 linux(符号链接)和 windows(快捷方式)解决方案都感兴趣。
【问题讨论】:
【参考方案1】:创建链接后,试试这个
QFile linkFile("/path/to/the/file/link_filename"); // remember, windows needs .lnk extension
if (linkFile.exists())
linkFile.rename("/path/to/the/file/new_linkfilename");
在带有 Qt 5.5 的 Ubuntu 14.04 上对此进行了测试
【讨论】:
我正在 windows 上开发并尝试过这个,但不适用于 Qt 5.4 的 windows 我没有显示任何错误,但没有重命名,但第一个问题是Qfile::exists()
,在符号链接的情况下检查目标文件仅返回真或假。我发现它可以与QFileInfo::isSymlink()
配对,但最终结果证明我需要删除符号链接,而且效果很好。以上是关于使用 Qt 重命名符号链接的主要内容,如果未能解决你的问题,请参考以下文章