o que é% username% no FTP

2

Acabei de fazer um script para fazer upload de arquivos importantes, mas existem mais de um usuário no meu computador e quero que ele faça o upload do usuário que está usando o programa .. assim como no cmd eu tentei fazer algo parecido com

upload.bat aqui

  @echo off
  ftp -s:%~dp0Upload.ftp
  pause

upload.ftp aqui

   open (ftp server name)
   (ftp server user-name)
   (ftp server password)
   prompt
   bin
   mput c:\user\%USERNAME%\importantfiles
   bye

Mas isso me falhou, então agora eu estou perguntando a você ..

Como defino um diretório para o nome de usuário do usuário do programa?

    
por crysal 08.05.2014 / 09:27

2 respostas

1

O comando ftp parece não suportar variáveis de ambiente ; considere a criação do script FTP em tempo real. Aqui está um script de exemplo, principalmente emprestado de DosTips :

;@echo off
;(for /f "usebackq delims=" %%A in ("%~f0") do call echo.%%A)>"%temp%\%~n0.ftp"
;ftp -i -s:"%temp%\%~n0.ftp"
;goto:EOF

open example.com
username
password
!:--- FTP commands below here ---
prompt
bin
mput %userprofile%\importantfiles

Observação Use %userprofile% em vez de construir o caminho sozinho, porque há coisas diferentes que podem dar errado:

  • Você tem erros de digitação, por exemplo C:\User em vez de C:\Users .
  • O nome da pasta não corresponde ao nome da conta do usuário.
  • O Windows não está instalado na unidade / partição C: .

Como funciona

This batch executed the FTP script embedded within the batch. All variables in the FTP script will be resolved.

The FOR loop extracts the FTP script into a temporary file. It the ECHO command is being CALLed for each line in order to resolve the variables.

Variables can be used within the FTP script the same way as in a batch script, including any string manipulation and command line arguments like %1 %2 %~n0 %* and so on.

All batch lines start with semicolon so that they will be ignored by the FOR loop. Semicolon is the default end-of-line (EOL) character used by the FOR command.

Source: FTP - Resolving Environment Variables

Referências

por 08.05.2014 / 10:28
-1

Você tem que usar todo o upercase %USERNAME% .

    
por 08.05.2014 / 09:38