![]() |
#2
wp2319572022-07-04 08:47
回复 楼主 追梦人zmrghy
|
只有本站会员才能查看附件,请 登录
遍历目录,批量修改文件名,学习了几个月了。
终于可以用自己能够理解的方法写出程序来了。。。

#include <iostream>
#include<filesystem>
#include <regex>
using namespace std;
filesystem::path make_name(filesystem::path url,wstring str)
{
wregex pattern(L".*[::](.+)[((]国.*");
wstring result = regex_replace(str, pattern, L"$1.mp4");
url += L'\\';
url += result;
return url;
}
void traverseDirectory(filesystem::path url)
{
if (!filesystem::exists(url))
{
cout << "当前目录不存在" << endl;
}
else
{
filesystem::directory_iterator list(url);
for (auto v : list)
{
rename(v.path(), make_name(url, v.path().filename()));
}
}
}
int main()
{
traverseDirectory("C:\\Users\\Administrator\\Desktop\\JJDown\\Download");
return 0;
}
#include<filesystem>
#include <regex>
using namespace std;
filesystem::path make_name(filesystem::path url,wstring str)
{
wregex pattern(L".*[::](.+)[((]国.*");
wstring result = regex_replace(str, pattern, L"$1.mp4");
url += L'\\';
url += result;
return url;
}
void traverseDirectory(filesystem::path url)
{
if (!filesystem::exists(url))
{
cout << "当前目录不存在" << endl;
}
else
{
filesystem::directory_iterator list(url);
for (auto v : list)
{
rename(v.path(), make_name(url, v.path().filename()));
}
}
}
int main()
{
traverseDirectory("C:\\Users\\Administrator\\Desktop\\JJDown\\Download");
return 0;
}
只有本站会员才能查看附件,请 登录
但是程序中,还有一处,for循环的语法不能理解。。。。
第23行中。for循环括号中应该有3个表达式呀, 为什么这个for循环括号中只有一个表达式。。。
程序测试目录文件夹
只有本站会员才能查看附件,请 登录
[此贴子已经被作者于2022-7-4 03:02编辑过]