2016-10-10 36 views
-1

我的團隊面臨需要使用AES256加密存儲庫中的所有文件。爲此,我們決定使用這種加密方式壓縮所有文件,並使用相同的密鑰進行加密。帶有遠程共享加密功能的Zip文件,保留原有名稱和位置

我們遇到的問題是,這些文件位於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\7-Zip\7z.exe" a -mx0 -tzip -pPasswordHere "%%~dpni.zip" "%%i" 

但是,正如寫之前,從根文件夾,這是我們不能做的文件坐在上運行時,它只能一個網絡位置。 映射驅動器或製作符號鏈接也無濟於事。

我也檢查過7zip做到這一點,即利用它的「-r」運算符,但我找不到一種方法來獲得所需的結果(即,遞歸遍歷遠程中的所有文件夾樹結構 - 其中有很多... - 並保留原始文件名)。

我接受任何建議,因爲任何類型的腳本,把戲或guizmo完成工作將是多餘的歡迎。 =)

謝謝你提前一百萬!, Sebas。

+0

'FOR/R「C:\ startfolder \「%%我IN(...'? – Stephan

+0

感謝您的建議!我試過這是我的第一個選擇,但它不適用於本地文件夾或網絡共享。 –

回答

0

---- ----解決方案

我居然找到了這裏sollution,映射以不同的方式驅動器(它是如此簡單,它只是讓我感到愚蠢(ER),但它的美麗altogheter) 。

用下面的批處理腳本,遠程共享可以被映射如下所示:

You can map a drive using 

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

    pushd X: 

(後從該答案摘自:Batch File Iterating through files on a local network server