欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 新闻 > 会展 > 无法删除文件夹 提示找不到该项目 | 文件夹以“.“结尾,无法访问

无法删除文件夹 提示找不到该项目 | 文件夹以“.“结尾,无法访问

2025/2/27 1:29:29 来源:https://blog.csdn.net/Infinity_07/article/details/145737634  浏览:    关键词:无法删除文件夹 提示找不到该项目 | 文件夹以“.“结尾,无法访问

今天写C++程序的时候,因为失误,创建了一个以 “.” 为最后一个字符的文件夹。

在这里插入图片描述

试图删除的时候,提示找不到该项目,也无法重命名

在这里插入图片描述
我查阅互联网许久也没找到解决方案,但是逐渐确定了是因为文件夹的结尾是"."

找到原因之后,我觉得解铃还须系铃人,还是使用C++来编写程序解决问题吧。于是有了这段代码。

#include <iostream>
#include <filesystem>namespace fs = std::filesystem;void remove_trailing_dot_from_files()
{std::string path = "./"; // 指定要遍历的目录路径(当前目录)try{// 遍历目录中的所有条目for (const auto &entry : fs::directory_iterator(path)){std::string oldName = entry.path().filename().string();// 检查文件名是否以点结尾且不为空if (!oldName.empty() && oldName.back() == '.'){// 构造新文件名(移除最后一个字符)std::string newName = oldName.substr(0, oldName.size() - 1);fs::path newPath = entry.path().parent_path() / newName;// 执行重命名操作fs::rename(entry.path(), newPath);std::cout << "重命名: " << oldName << " -> " << newName << std::endl;}else{std::cout << "无需修改: " << oldName << std::endl;}}}catch (const fs::filesystem_error &e){std::cerr << "错误: " << e.what() << std::endl;}
}
int main()
{remove_trailing_dot_from_files();return 0;
}

放到 test. 所在文件夹后编译运行即可

在这里插入图片描述
在这里插入图片描述
顺利解决问题,开心~(虽然花了很久。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词