批量文件搜索然后加密

时间:2015-07-24 08:20:01

标签: c++ batch-file encryption

我目前正在尝试加密我服务器上的某些文件,我已经下载了aescrypt,我可以使用以下命令加密单个文件

vector<int> v;
v << 5; // instead of v.push_back(5)

但是我希望能够编写一个批处理文件来查看特定文件夹中的文件并单独加密它们。

我知道如何使用CMD扫描文件

aescrypt -e -p apples picture.jpg

有人可以告诉我如何使用我的加密器使用存储的文件名。

即。读取report.txt然后使用report.txt中的文件名来加密它们

即。如果报告中包含以下内容

dir /S C:\work\*.docx > c:\report.txt

然后批处理文件将生成以下内容

work1.docx
work2.docx
work3.docx
work4.docx

然后删除原件

aescrypt -e -p apples work1.docx
aescrypt -e -p apples work2.docx
aescrypt -e -p apples work3.docx
aescrypt -e -p apples work4.docx

我确信这很简单,但我是新手并且仍然在努力学习,所以任何建议都会受到赞赏。

我对批处理文件或C ++

感到满意

1 个答案:

答案 0 :(得分:0)

如果您对批处理文件没问题,可以尝试使用它来搜索文件夹中的所有文件并加密/解密它们。

要加密+删除原件,您可以在encrypt.bat中运行这些批处理命令:

FOR %%G IN ("C:\work\*.docx") DO aescrypt -e -p apples "%%G"
FOR %%G IN ("C:\work\*.docx") DO DEL "%%G"

然后您可以通过在decrypt.bat中运行以下批处理命令来解密它们:

FOR %%G IN ("C:\work\*.aes") DO aescrypt -d -p apples "%%G"

希望有所帮助。

修改

以下是您搜索子文件夹的更新。如果您使用C:\ work \,则应加密/解密该文件夹中的任何.docx文件以及子文件夹中的任何文件。

加密:

FOR /R "C:\work\" %%G IN (*.docx) DO aescrypt -e -p apples "%%G"
FOR /R "C:\work\" %%G IN (*.docx) DO DEL "%%G"

解密:

FOR /R "C:\work\" %%G IN (*.aes) DO aescrypt -d -p apples "%%G"

另请注意我在上面的答案中修正了一个拼写错误。命令末尾的%% G参数需要包含在像“%% G”这样的语音标记中,否则如果文件名中包含空格,命令将失败。