如何通过管道将文件传输到加密的、受密码保护的 zip 文件,然后在 Windows 批次中删除原始文件?

How do I pipe a file into an encrypted, password protected zip file, then delete the original file, in Windows batch?

我正在尝试使用 BCP 实用程序导出一些数据库数据。

到目前为止,这是我的批处理命令:

BCP [table] out [file] -c -T -S [server] -t"¶" | 7z.exe a -si [archive name] -sdel

BCP 部分工作正常:

BCP [table] out [file] -c -T -S [server] -t"¶"

但是,对于 7-Zip 部分:

7z.exe a -si [archive name] -sdel

它在一定程度上起作用。原文件没有删除,我也想用128位或256位密码加密存档。

有什么建议吗?

我找到了一个使用小型 VB .NET 脚本的解决方案。

该脚本将 table 名称、运行s BCP 放入文本文件、运行s 带有加密选项的 7 Zip (https://sevenzip.osdn.jp/chm/cmdline/switches/method.htm#Zip) 和一个密码,然后删除原始文本文件。 这些命令 运行 使用 Process() 对象函数。

这样我就可以轻松地遍历我需要放置在文件中的 tables。

这不是我正在寻找的 Windows 批处理答案,但它有效。

仍然欢迎任何其他建议。

谢谢!

BCP .... | 7z u -sidirData -pMyPassword -mhe outputFile.7z
              ^ ^          ^            ^    ^______________ The file that will be generated
              | |          |            |___________________ Encrypt file names
              | |          |________________________________ Password used for encryption
              | |___________________________________________ Name of stored file
              |_____________________________________________ update/create container file

请注意,开关和值之间没有空格