ビルドアーカイブを使用するときは、特定のディレクトリを除外したいと思います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を使用しています。
答え1
に設定してみてください-x '*AppData/*'
答え2
ただ
-x */AppData/*
# or
--exclude */AppData/*
最初のスラッシュを追加することを忘れないでください。それ以外の場合は、「AppData」で始まるパスだけでなく、「AppData」を含むすべてのパスとも一致するためです。
答え3
zip
一致するパスには、ルート以外のユーザーが提供したルートパス要素が含まれているようです。.
私の場合、以下の項目を除外するには次のものがLocalLow
必要です。
$ zip home.zip -y -r HOME -x 'HOME/AppData/LocalLow/*'
生産する:
adding: HOME/ (stored 0%)
adding: HOME/AppData/ (stored 0%)
adding: HOME/AppData/a (deflated 39%)
ディレクトリcd
に移動してそれをルートディレクトリとして使用する場合、除外パスにルート要素を指定する必要はありません。HOME
.
$ cd HOME
$ zip home.zip -y -r . -x 'AppData/LocalLow/*'
adding: AppData/ (stored 0%)
adding: AppData/a (deflated 39%)