【发布时间】:2018-11-26 05:05:02
【问题描述】:
只需让我的脚本将文件发送到.ftp 文件夹,它运行良好,如下所示:
@echo off & SetLocal
( echo open ftp.xxxxx.com.it
echo username
echo password
echo put %userprofile%\Desktop\%date:/=-%.zip
echo bye
)> %temp%\ftpsend.dat
ftp -s:%temp%/ftpsend.dat
del /f /s /q %temp%\ftpsend.dat
pause
但使用%userprofile% 无法设置用户。我的电脑用户名是!Karen Dallalibera! 可能是因为用户名中的!....但没有DelayExpansion,所以我不知道。
我想使用%userprofile%、%homepath%等。
有办法使用吗?
知道了,使用"。但是还有一个问题:我想将文件上传到一个特定的文件夹中,我尝试如下:
@echo off & SetLocal
( echo open ftp.xxxxx.com.it
echo username
echo password
cd \Karen D.\Test\
echo put "%userprofile%\Desktop\%date:/=-%.zip"
echo bye
)> %temp%\ftpsend.dat
ftp -s:%temp%/ftpsend.dat
del /f /s /q %temp%\ftpsend.dat
pause
我想将文件上传到文件夹\Karen D.\Test\
但是脚本保存在ftp 的主文件夹中。
如何设置上传的具体文件夹?
【问题讨论】:
-
您的第一行是否应该是:
echo OPEN ftp://ftp.xxxxxx.com.it/ > ftpcommands.txt,以便将文件创建为新文件,而不是附加到现有文件? -
“什么都没有发生”是不可能的。
cmd或ftp是否会生成错误消息?文件创建了吗? -
您在什么操作系统上运行?是否安装了 FTP 命令?
-
它说主机未知(但正确,已检查),我使用 Windows 7。
-
检查我上次的编辑!
标签: batch-file ftp