首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >是否可以将变量传递到Windows FTP脚本文件中?

是否可以将变量传递到Windows FTP脚本文件中?
EN

Stack Overflow用户
提问于 2011-03-03 00:46:32
回答 3查看 26.1K关注 0票数 13

我有一个批处理脚本,动态创建一些文件,并生成四个文件与一些随机的文件名基于时间,日期等。然后,它需要上传该文件通过FTP到服务器。

到目前为止,我的.bat文件有一行类似于"ftp -s:ftp.txt“的内容。Ftp.txt包含一些相当简单的FTP脚本内容:

代码语言:javascript
复制
open ftp.myserver.com
username
password
put filename1.dat
put filename2.dat
put filename3.dat
put filename4.dat

我想要做的是传入需要上传的文件名,然后将"put filename1.dat“替换为"put %file1%”--其中%file1%是传入的文件名变量。

这个是可能的吗?有人知道怎么做吗?还是我的整个方法都错了?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-03-03 00:58:32

您可以使用bat文件动态生成ftp.txt文件。简单地做一些类似的事情:

代码语言:javascript
复制
echo ftp.myserver.com>ftp.txt
echo username>>ftp.txt
echo password>>ftp.txt
echo put filename1.dat>>ftp.txt
echo put filename2.dat>>ftp.txt
echo put filename3.dat>>ftp.txt
echo put filename4.dat>>ftp.txt
ftp -s:ftp.txt

当然,现在您已经在bat文件中了,您可以使用环境变量和其他东西来代替"filenameX.dat“

例如:

代码语言:javascript
复制
echo put %file1% >>ftp.txt
票数 18
EN

Stack Overflow用户

发布于 2013-06-03 08:33:20

为了更新答案,这里有一个更新的批处理文件。请注意,用户名和密码后的空格被排除在外(因为它将一个空格传递给ftp站点)。这还将利用传递给批处理文件的参数。

代码语言:javascript
复制
echo open ftp.myserver.com>ftp.txt
echo username>>ftp.txt
echo password>>ftp.txt
echo put %1>>ftp.txt
echo quit>>ftp.txt
ftp -s:ftp.txt
票数 2
EN

Stack Overflow用户

发布于 2011-03-03 00:57:20

我不认为windows中的命令行FTP客户端足够智能,无法在命令上进行环境/shell变量插值。但是,您可以让控制.bat的文件动态生成ftp脚本,并在您仍处于shell级别时执行变量操作。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5170627

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档