Na verdade, não há comando set
no WinSCP.
O set
command , com a sintaxe que você está usando , é um comando do Windows.
Como tal, você precisa executá-lo a partir de um arquivo de lote do Windows, como o seu ftprun.cmd
.
O WinSCP pode resolver variáveis de ambiente do Windows em seu script:
Portanto, tudo o que você precisa fazer é mover a linha set
para o ftprun.cmd
, antes da chamada para winscp.com
:
set mydate=%date:~6,4%%date:~3,2%%date:~0,2%
"C:\Program Files\WinSCP\winscp.com" /script=D:\testsftp\ftpscript.txt
De qualquer forma, observe que sua date
magic é específica de localidade, portanto, certifique-se de que todas as máquinas em que você usa o script usem o mesmo local (idioma) da máquina que você desenvolve / testa. Por exemplo, com minha localidade tcheca, o mydate
resolve o absurdo 06.12čt
, porque o date
é čt 12. 06. 2014
.
Melhor solução é usar a % sintaxe %TIMESTAMP%
do WinSCP:
mkdir %TIMESTAMP#yyyymmdd%