Search code examples
windowsbatch-fileencryption7zipbcp

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


I am attempting to export some database data using the BCP Utility.

Here is my batch command so far:

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

The BCP part works just fine:

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

However, for the 7-Zip part:

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

It works to a point. The original file is not removed, and I'd also like to encrypt the archive with 128 bit or 256 bit encryption with a password.

Any suggestions?


Solution

  • I found a work around solution with a small VB .NET script.

    The script takes in a table name, runs BCP into a text file, runs 7 Zip with encryption options (https://sevenzip.osdn.jp/chm/cmdline/switches/method.htm#Zip), and a password, then deletes the original text file. These commands are run using the Process() object functions.

    That way I can loop through the tables I need placed in files easily.

    It is not the Windows batch answer I was looking for, but it works.

    Any other suggestions are still welcome.

    Thanks!