我刚刚制作了一个脚本来上传重要文件,但是我的计算机上有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
但这使我失败了,所以现在我要问你。
如何将目录设置为程序用户的用户名?
该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] 删除。
我来说两句