mirror of
https://github.com/taurusxin/ncmdump.git
synced 2025-07-13 21:12:10 +08:00
Merge 6a0e41c393
into a2d65257da
This commit is contained in:
commit
1df79c0d07
@ -50,6 +50,12 @@ ncmdump -d source_dir
|
||||
ncmdump -d source_dir -r
|
||||
```
|
||||
|
||||
使用 `-m` 参数来删除源文件若正确处理
|
||||
|
||||
```shell
|
||||
ncmdump -m
|
||||
```
|
||||
|
||||
使用 `-o` 参数来指定输出目录,将转换后的文件输出到指定目录,该参数支持与 `-r` 参数一起使用
|
||||
|
||||
```shell
|
||||
|
22
src/main.cpp
22
src/main.cpp
@ -15,7 +15,7 @@
|
||||
|
||||
namespace fs = std::filesystem;
|
||||
|
||||
void processFile(const fs::path &filePath, const fs::path &outputFolder)
|
||||
void processFile(const fs::path &filePath, const fs::path &outputFolder, bool isRequiredRemoved)
|
||||
{
|
||||
if (fs::exists(filePath) == false)
|
||||
{
|
||||
@ -35,7 +35,14 @@ void processFile(const fs::path &filePath, const fs::path &outputFolder)
|
||||
crypt.Dump(outputFolder.u8string());
|
||||
crypt.FixMetadata();
|
||||
|
||||
std::cout << BOLDGREEN << "[Done] " << RESET << "'" << filePath.u8string() << "' -> '" << crypt.dumpFilepath().u8string() << "'" << std::endl;
|
||||
std::cout << BOLDGREEN << "[Done] " << RESET << "'" << filePath.u8string() << "' -> '" << crypt.dumpFilepath().u8string() << "'" ;
|
||||
|
||||
if (isRequiredRemoved)
|
||||
{
|
||||
fs::remove(filePath);
|
||||
std::cout << " with removed as required.";
|
||||
}
|
||||
std::cout << std::endl;
|
||||
}
|
||||
catch (const std::invalid_argument &e)
|
||||
{
|
||||
@ -61,6 +68,7 @@ int main(int argc, char **argv)
|
||||
("r,recursive", "Process files recursively (requires -d option)", cxxopts::value<bool>()->default_value("false"))
|
||||
("o,output", "Output folder (default: original file folder)", cxxopts::value<std::string>())
|
||||
("v,version", "Print version information", cxxopts::value<bool>()->default_value("false"))
|
||||
("m,remove", "Remove original file if done", cxxopts::value<bool>()->default_value("false"))
|
||||
("filenames", "Input files", cxxopts::value<std::vector<std::string>>());
|
||||
|
||||
options.positional_help("<files>");
|
||||
@ -165,7 +173,7 @@ int main(int argc, char **argv)
|
||||
fs::create_directories(destinationPath.parent_path());
|
||||
|
||||
// 处理文件
|
||||
processFile(path, destinationPath.parent_path());
|
||||
processFile(path, destinationPath.parent_path(), result.count("remove"));
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -178,11 +186,11 @@ int main(int argc, char **argv)
|
||||
{
|
||||
if (outputDirSpecified)
|
||||
{
|
||||
processFile(path, outputDir);
|
||||
processFile(path, outputDir, result.count("remove"));
|
||||
}
|
||||
else
|
||||
{
|
||||
processFile(path, "");
|
||||
processFile(path, "", result.count("remove"));
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -204,11 +212,11 @@ int main(int argc, char **argv)
|
||||
|
||||
if (outputDirSpecified)
|
||||
{
|
||||
processFile(filePathU8, outputDir);
|
||||
processFile(filePathU8, outputDir, result.count("remove"));
|
||||
}
|
||||
else
|
||||
{
|
||||
processFile(filePathU8, "");
|
||||
processFile(filePathU8, "", result.count("remove"));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user