我的團隊面臨需要使用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。
'FOR/R「C:\ startfolder \「%%我IN(...'? – Stephan
感謝您的建議!我試過這是我的第一個選擇,但它不適用於本地文件夾或網絡共享。 –