FTP 中的 %username% 是什么

FTP 中的 %username% 是什么

我刚刚编写了一个脚本来上传重要文件,但我的电脑上有多个用户,我想让它上传正在使用该程序的用户。所以就像在 cmd 中一样,我尝试做这样的事情

upload.bat在这里

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

upload.ftp 在这里

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

但这让我失望了,所以现在我问你......

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

答案1

ftp命令似乎不支持环境变量完全没有;考虑动态创建 FTP 脚本。下面是一个示例脚本,主要借鉴自注意事项

;@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
  • 文件夹名称与用户帐户名称不匹配。
  • Windows 未安装在C:驱动器/分区中。

怎么运行的

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

为了循环将 FTP 脚本提取到临时文件中。它回声命令正在称呼对每一行进行编辑以解决变量。

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

所有批处理行都以分号开头,以便它们将被忽略为了循环。分号是为了命令。

来源:FTP - 解析环境变量

参考

答案2

您必须使用全部大写%USERNAME%

相关内容