批量修改文件名

研究这东西单纯的是为了看番用的,外挂字幕必须要名字相同,这点好烦。

核心是doc命令中的ren,要注意如果名字有空格的话,必须用双引号括起来。

#include <cstdio>
#include <cstdlib>
#include <iostream>
#include <fstream>
#include <string>
#include <algorithm>
using namespace std;

string int2string(int n, int bit)
{
    string s;
    for(int i = 0; i < bit; i++)
        s.push_back(n % 10 + '0'), n /= 10;
    reverse(s.begin(), s.end());
    return s;
}

int main()
{
    system("dir /b >file_directory.txt");

    fstream in;
    in.open("file_directory.txt");

    int id = 1;

    // /*
    string s;
    while(getline(in, s))
    {
        if(s == "rename.cpp") continue;
        if(s == "rename.o") continue;
        if(s == "rename.exe") continue;
        if(s == "file_directory.txt") continue;

        // 进行转换
        string op = "ren \"";
        op += s + "\" \"";
	// 目标文件名
	op += "[HorribleSubs] Fate Zero - " + int2string(id++,2) + " [1080p]";
	op += ".ass\"";
        system(op.c_str());
        cout << op << endl;
    }

    in.close();
    system("del file_directory.txt");
    // */

    return 0;
}