SFTP: Move (renomeia) muitos arquivos de uma pasta para outra (não um por um)

5

Eu preciso mover todos os arquivos de current_path para current_path / DestinationFolder .

A versão do SFTP que estou usando é: versão 2 do protocolo SFTP

Os comandos disponíveis são:

sftp> help
Available commands:
cd path                       Change remote directory to 'path'
lcd path                      Change local directory to 'path'
chgrp grp path                Change group of file 'path' to 'grp'
chmod mode path               Change permissions of file 'path' to 'mode' 
chown own path                Change owner of file 'path' to 'own'
help                          Display this help text
get remote-path [local-path]  Download file
lls [ls-options [path]]       Display local directory listing
ln oldpath newpath            Symlink remote file
lmkdir path                   Create local directory
lpwd                          Print local working directory
ls [path]                     Display remote directory listing
lumask umask                  Set local umask to 'umask'
mkdir path                    Create remote directory
put local-path [remote-path]  Upload file
pwd                           Display remote working directory
exit                          Quit sftp
quit                          Quit sftp
rename oldpath newpath        Rename remote file
rmdir path                    Remove remote directory
rm path                       Delete remote file
symlink oldpath newpath       Symlink remote file
version                       Show SFTP version
!command                      Execute 'command' in local shell
!                             Escape to local shell
?                             Synonym for help

Eu não tenho o comando mv . Eu tentei RNFT e não funcionou.

Agora, posso usar renomear:

 rename current_path/myFile.txt current_path/DestinationFolder/myFile.txt

e está tudo bem. Mas eu preciso mover all (ou many ) dos arquivos. O seguinte não funcionou:

 rename current_path/* current_path/DestinationFolder/

Couldn't rename file "current_path/*" to "current_path/DestinationFolder/": Bad message

Não tenha acesso através de SSH , por isso não posso fazer coisas como echo "ssh login @ servidor mv * current_path / DestinationFolder /"

Eu não deveria mexer com esse servidor: sem scripts, sem atividades, etc. Sou muito limitado.

Você poderia me recomendar uma maneira de resolver isso, por favor ??

NOTA : isso está no SOLARIS.

    
por Kani 13.11.2012 / 20:19

1 resposta

2

Eu concordo com o cjc. Se você realmente está limitado a acima do comando que permitirá que você baixe os arquivos, coloque local-path [caminho-remoto] e scp-lo de volta. Bom link aqui também.

Eu usaria algo como winscp , porém, torna as coisas muito mais fáceis.

sftp> help put
USAGE: put local-path [remote-path] [-bg | -fg] [-s] [-o] [-r] [-b | -lf]
DESCRIPTION: Upload file.
PARAMETERS:
 -bg   Start (queue) transfer in background.
 -fg   Start transfer in foreground.
 -s    Include subdirectories (recursive).
 -r    Force existing incomplete file to be resumed.
 -o    Force existing file to be overwritten.
 -b    Upload all files as binary; no conversions.
 -lf   Use auto detection upload mode. Text files are uploaded
       in Unix format, with LF as the line delimiter.

NOTES:
 -     If both '-r' and '-o' are specified, resume is tried first,
       and if that fails, overwrite is used.
 -     '-std' and '-t' transfer mode options are also available
       when SFTP version 4 or higher is in use.
    
por 13.11.2012 / 20:25