![7-Zip:自动执行脚本,排除文件夹,但在 .cbr 结构中包含其内容(将文件夹本身设置为根目录)](https://linux22.com/image/1566908/7-Zip%EF%BC%9A%E8%87%AA%E5%8A%A8%E6%89%A7%E8%A1%8C%E8%84%9A%E6%9C%AC%EF%BC%8C%E6%8E%92%E9%99%A4%E6%96%87%E4%BB%B6%E5%A4%B9%EF%BC%8C%E4%BD%86%E5%9C%A8%20.cbr%20%E7%BB%93%E6%9E%84%E4%B8%AD%E5%8C%85%E5%90%AB%E5%85%B6%E5%86%85%E5%AE%B9%EF%BC%88%E5%B0%86%E6%96%87%E4%BB%B6%E5%A4%B9%E6%9C%AC%E8%BA%AB%E8%AE%BE%E7%BD%AE%E4%B8%BA%E6%A0%B9%E7%9B%AE%E5%BD%95%EF%BC%89.png)
当我使用这个脚本时
for /d %%X in (*) do "c:\Programs\7-Zip\7z.exe" a "%%X.cbr" "%%X\"
在这样的目录中
mainfolder
comicfolder1
001.png
002.png
comicfolder2
001.png
002.png
结果是
mainfolder
comiczip1.cbr
comicfolder1
001.png
002.png
comiczip2.cbr
comicfolder2
001.png
002.png
因此,没有一个 cbr 读者能够读取这些 zip。
我应该使用哪个参数来获取下面这个结构?
mainfolder
comiczip1.cbr
001.png
002.png
comiczip2.cbr
001.png
002.png
答案1
7-zip 中没有这样的开关或参数来从路径中排除目录。但是,如果您在压缩之前更改实际目录,则可以实现所需的目的。
for /d %%X in (*) do (
pushd %%X
"c:\Programs\7-Zip\7z.exe" a "..\%%X.cbr" ".\*"
popd
)