Descompacte o local

2

Estou usando o unzip através da massa e funciona bem. No entanto, usar o mesmo comando por meio de uma biblioteca .NET C # SSH ( Renci.SshNet ) fornece resultados diferentes.

SshClient s = new SshClient("ssh_host", "ssh_port", "ssh_username", "ssh_password");
SshCommand c = s.RunCommand("unzip -o \"/home/parent/child/1.zip\ 1.txt"")

Esse mesmo comando através de putty, extrai-o em 'child', usando isso, o 1.txt termina em 'parent'. O resultado de retorno do comando Ssh é o mesmo que o retorno de Putty:

Archive:  /home/parent/child/1.zip
extracting: 1.txt

Por que isso está extraindo um nível acima? A única diferença que eu posso ver é que eu usei cd para me posicionar no diretório (em Putty).

    
por JJ_Jason 29.09.2012 / 19:42

2 respostas

3

Ou use a opção -d do unzip para especificar o diretório para o qual extrair arquivos.

SshCommand c = s.RunCommand("unzip -d /home/parent/child -o \"/home/parent/child/1.zip\ 1.txt"")
    
por 29.09.2012 / 20:17
1

Entendi.

SshCommand c = s.RunCommand("cd /home/parent/child/ && unzip -o 1.zip 1.txt"))

Usando essa sintaxe, eu me posiciono na pasta e faço a descompactação.

    
por 29.09.2012 / 19:58