Zip

壓縮文件時如何排除目錄

  • January 31, 2021

我試圖在使用zip. 這是我嘗試過的:

$ zip home.zip -y -r HOME -x '/AppData' -x '/AppData*' -x '/AppData/*' -x 'AppData' -x 'AppData*' -x 'AppData/*'

產生:

 adding: HOME/ (stored 0%)
 adding: HOME/AppData/ (stored 0%)
 adding: HOME/AppData/a (deflated 39%)
 adding: HOME/AppData/LocalLow/ (stored 0%)
 adding: HOME/AppData/LocalLow/Sun/ (stored 0%)
 adding: HOME/AppData/LocalLow/Sun/Java/ (stored 0%)
 adding: HOME/AppData/LocalLow/Sun/Java/a (deflated 39%)
 adding: HOME/AppData/LocalLow/Sun/Java/Deployment/ (stored 0%)
 adding: HOME/AppData/LocalLow/Sun/Java/Deployment/a (deflated 39%)

我的目錄樹如下所示:

./HOME
./HOME/AppData
./HOME/AppData/a
./HOME/AppData/LocalLow
./HOME/AppData/LocalLow/Sun
./HOME/AppData/LocalLow/Sun/Java
./HOME/AppData/LocalLow/Sun/Java/a
./HOME/AppData/LocalLow/Sun/Java/Deployment
./HOME/AppData/LocalLow/Sun/Java/Deployment/a

所以它似乎忽略了我的-x選擇。

-x該選項的正確語法是什麼?

找到了這篇文章,但正如您在上面看到的,它並沒有解決我的問題。

我在 Windows 7 上的 Cygwin 1.7.35 上使用 Info-ZIP 3.0。

做就是了

-x */AppData/*
# or
--exclude */AppData/*

不要忘記添加第一個斜杠,否則它還會匹配其中包含“AppData”的任何路徑,而不僅僅是以“AppData”開頭的路徑。

嘗試把它作為-x '*AppData/*'

引用自:https://unix.stackexchange.com/questions/219101