知道如何从命令行 7zip 命令中排除通配符路径吗?
我正在做这样的事情:
7z.exe a -t7z archive.7z FolderToArchive\ -mx0
Run Code Online (Sandbox Code Playgroud)
并希望排除在“FolderToArchive”下找到的任何\bin\*.*或\obj\*.*文件夹。
要排除文件,您可以使用该-x参数。帮助文件给出了这个使用示例-x:
7z a -tzip archive.zip *.txt -x!temp.*
Run Code Online (Sandbox Code Playgroud)
这非常适合排除文件。但是,同样,我想排除通配符指定的文件夹。在我的“FolderToArchive”有多个文件夹,这些文件夹下有可能会或可能不会bin\和obj\文件夹。我不想将这些包含在存档中。
我试过这样的模式
-x!bin\*
-x!bin\*.*
-x!\bin\*
-x!\bin\*.*
-x!\\bin\\*
-x!\\bin\\*.*
Run Code Online (Sandbox Code Playgroud)
似乎没有排除该bin\文件夹。这仅仅是 7zip 的限制吗?
我正在尝试这个:
7za.exe a "C:\Disc.7z" "C:\test" -v20000000b -m0=BCJ -bd
Run Code Online (Sandbox Code Playgroud)
但是,如果我已经创建了文件,C:\Disc.7z那么 7zip 不会压缩任何内容并向我发送以下输出:
System error:
File already exist.
Run Code Online (Sandbox Code Playgroud)
我试过 switch -y,但 7zip 没有做任何事情......
我怎样才能覆盖文件?
更新
我试过开关,-aoa但它也不起作用......
我想使用 7-Zip 在给定路径下添加任何 txt 文件。
查看帮助我试过这个:
7za a -ir!*.txt bla.7z c:\initial\path
Run Code Online (Sandbox Code Playgroud)
这最终包括每个文件,txt 与否。
看着这个问题,我试图这样做:
7za a -ir!.\*.txt bla.7z c:\initial\path
Run Code Online (Sandbox Code Playgroud)
这最终给了我这个尴尬的消息:
Error:
Duplicate filename:
c:\initial\path\CLI\0003\readme.txt
c:\initial\path\CLI\0003\readme.txt
Run Code Online (Sandbox Code Playgroud)
有趣的是 -xr 选项对我来说很好用。例如,如果我尝试:
7za a -xr!*.txt bla.7z c:\initial\path
Run Code Online (Sandbox Code Playgroud)
除了txts之外的每个文件都包括在内。