O WinSCP não possui um padrão ou qualquer outro mecanismo para extrair nome de arquivo sem extensão (ou substituir a extensão).
De qualquer forma, você pode usar qualquer função que o servidor forneça para conseguir o mesmo. Por exemplo, você pode substituir a extensão usando o comando sed
:
echo thisnewvideo.mp4 | sed 's/\..*$/.zip/'
Isso produzirá:
thisnewvideo.zip
Você pode mesclar isso no comando personalizado WinSCP usando o operador backtick como:
zip -r 'echo ! | sed 's/\..*$/.zip/'' !
Observe que o comando está usando o !
pattern . Quando você o executa para um conjunto de arquivos selecionados, ele é executado uma vez para cada arquivo, produzindo um arquivo .zip
para cada arquivo de origem.
Para alternativas, consulte: Extrair o nome do arquivo e a extensão no Bash .
Observe que eu consideraria melhor (e mais fácil) implementá-lo apenas para anexar a extensão .zip
(ou seja, thisnewvideo.mp4.zip
) ao final do nome do arquivo, em vez de substituir a extensão. Você evitaria confrontos de nome, se você tiver dois arquivos com o mesmo nome base, apenas uma extensão diferente. Mas eu não conheço suas restrições.