FTP中的%username%是什么

哭泣的

我刚刚制作了一个脚本来上传重要文件,但是我的计算机上有1个以上的用户,并且我希望它上传正在使用该程序的用户。

在这里上载.bat

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

在这里上载.ftp

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

但这使我失败了,所以现在我要问你。

如何将目录设置为程序用户的用户名?

和31415

ftp命令似乎根本不支持环境变量考虑动态创建FTP脚本。这是一个主要从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

注意使用%userprofile%而不是自己构建路径,因为可能会发生不同的事情:

  • 您有错别字,例如C:\User而不是C:\Users
  • 文件夹名称与用户帐户名称不匹配。
  • C:驱动器/分区中未安装Windows

怎么运行的

该批处理执行了批处理中嵌入的FTP脚本。FTP脚本中的所有变量都将被解析。

FOR循环提取FTP脚本到一个临时文件。它的ECHO命令正在CALL用于为了解决变量的每一行编辑。

可以在FTP脚本中使用与批处理脚本相同的方式使用变量,包括任何字符串处理和命令行参数,如%1 %2 %~n0 %*等等。

所有批处理行均以分号开头,因此它们将被FOR循环忽略分号是FOR命令使用的默认行尾(EOL)字符

来源:FTP-解决环境变量

参考

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章