Sem saber exatamente qual é o comando 7z , é só adivinhar, mas aqui está:
7z a -t7z -ir@"files_to_include.txt" -xr@"files_to_exclude.txt" ....
Observe o r após -i e -x para recursivo. Você provavelmente também usou @ antes do nome do arquivo em vez do ! . (ou pelo menos você deve. ! é usado para especificar curinga na linha de comando:)
Depois, para o seu conteúdo files_to_exclude.txt . Acredito que você deve usar os caminhos relativos aqui. Portanto, não especifique o c:\.... antes dos seus caminhos. Se seus caminhos comuns na inclusão forem c:\path\path2 , você precisará excluir isso da exclusão. A razão para isso é que, enquanto 7z está compactando seus arquivos, ele já acabou com o c:\path\path2 -part (porque nem todo o caminho é armazenado, apenas a parte relativa). Então suas exclusões não combinam mais. Você pode ver isso porque ao abrir o .zip c:\path\path2 não está no .zip. (Então, combinando isso não funciona)
Então, o seu files_to_exclude.txt deve ficar assim:
path\data\files\foo\bar\fish.dat
path__\data\slug.mp3
.... more files
Portanto, se depois de adicionar r após -i e -x e alterar o novo files_to_exclude.txt você ainda tiver problemas, precisaremos ver seu comando real.