将远程FTP主机上的文件重命名为命令输出(Windows)

将远程FTP主机上的文件重命名为命令输出(Windows),windows,batch-file,cmd,ftp,Windows,Batch File,Cmd,Ftp,我正在使用cmd.exe(在Windows 7上)连接到我网站的FTP服务器。但是,当我想重命名远程主机上的文件时,我只能将其重命名为静态文本(第一个单词,如果有多个单词以空格分隔) 我要做的是将文件重命名为命令的输出(动态)。例如,命令date的输出为 当前日期为:2016年6月18日星期六 我希望文件名是date命令的结果 提前谢谢 开始 然后,使用该变量动态生成ftp.exe脚本 FOR /F "tokens=* USEBACKQ" %%F IN (`date /t`) DO ( SE

我正在使用
cmd.exe
(在Windows 7上)连接到我网站的FTP服务器。但是,当我想重命名远程主机上的文件时,我只能将其重命名为静态文本(第一个单词,如果有多个单词以空格分隔)

我要做的是将文件重命名为命令的输出(动态)。例如,命令
date
的输出为

当前日期为:2016年6月18日星期六

我希望文件名是
date
命令的结果

提前谢谢

开始

然后,使用该变量动态生成
ftp.exe
脚本

FOR /F "tokens=* USEBACKQ" %%F IN (`date /t`) DO (
  SET OUTPUT=%%F
)

echo open ftp.example.com>ftp.txt
echo user>>ftp.txt
echo password>>ftp.txt
echo rename current_name %OUTPUT%>>ftp.txt
echo bye>>ftp.txt

ftp -s:ftp.txt

谢谢,它工作了,但是当它重命名文件时,我只得到结果的第一个单词(在第一个空格之前)(例如:日期是19/06->the)。我尝试删除空格,只从变量中提取数字,然后将它们添加到新变量中,然后发送请求,但失败了。有什么想法吗?编辑:解决了。正在以错误的方式使用替换字符命令。。现在我可以删除空格,文件名将是其中的一部分。如果你有任何想法如何上传空间,这将是了不起的!如果你没有,没问题。。再次感谢,这帮了我很大的忙,比我想要的还多。
date/t
不应该打印“The date is”前缀。无论如何,只需将名称用双引号括起来,比如
echo rename current\u name“%OUTPUT%”>>ftp.txt
,这样就行了。。奇怪的是,我尝试了同样的方法(添加双引号),但没有成功,可能是额外的代码造成了麻烦。。现在一切都很好,我想要的!谢谢Matrin!