在远程共享中加密 Zip 文件,保留原始名称和位置

Zip files with encryption in a remote share, keeping orignal names and location

我的团队需要使用 AES256 加密存储库中的所有文件。为此,我们决定使用这种加密方式压缩所有文件,对所有文件使用相同的密钥。

我们遇到的问题是这些文件位于 NAS 中,因此可以从 windows 盒子中通过 \ 访问它们。

目录结构是这样的:

 Original Structure:
 Root
 -1
  |--folder1
    |---file1.ext
    |---file2.ext
  |--folder2
    |---filea.ext
    |---fileb.ext
   |--folder2.a
    |---filec.ext

 and so on...

本质上,我们需要的是将所有原始文件包含在一个 zip 文件中,并保留它们的原始名称,就像这样:

 Desired Outcome:
 |-Root
  |-1
    |--folder1
       |---file1.zip
       |---file2.zip
    |--folder2
       |---filea.zip
       |---fileb.zip
      |--folder2a
       |---filec.zip
 and so on...

为了实现这一点,我们尝试了一个调用 7zip 的批处理脚本,但它只有在根目录 运行 时才有效,这是我们无法使用的,因为文件不在服务器中。

这是我们提出的批处理脚本的语法:

 FOR /R %%i IN ("*.wmv") DO "C:\Program Files-Zipz.exe" a -mx0 -tzip -pPasswordHere "%%~dpni.zip" "%%i"

但是,如前所述,它仅在根文件夹中 运行 时有效,这是我们无法做到的,因为文件位于网络位置。 映射驱动器或对其创建符号 link 也无济于事。

我还检查了 7zip 来执行此操作,即利用其“-r”运算符,但我找不到获得所需结果的方法(即递归遍历文件夹中的所有文件夹)远程树结构-有很多...-并保留原始文件名)。

我乐于接受任何建议,因为任何类型的脚本、技巧或 guizmo 都能完成工作,我将非常欢迎。 =)

提前致谢!, 塞巴斯.

----解决方案----

我实际上在这里找到了一个解决方案,以不同的方式映射驱动器(它是如此简单以至于让我觉得自己很愚蠢(呃),但它总的来说很漂亮)。

使用下面的批处理脚本,可以像这样映射远程共享:

  You can map a drive using

  net use X: \server\directory
  and then you can change to that directory using

  pushd X:

(Post 答案来自:Batch File Iterating through files on a local network server)