我在windows上使用下面的FTP脚本从Ubuntu云服务器下载压缩文件。每天都会在Ubuntu服务器上创建一个zip文件,我将通过这个ftp脚本将其下载到windows。我每天手动运行这个脚本,因为我必须编辑脚本的最后一行(mget/usr/back02-11-2010.zip),以匹配今天的日期。我想编辑这个脚本,以便它将只在预定的时间下载今天的压缩文件,而不需要每天编辑它,当计划。很明显,日期是附加到压缩文件,并以dd格式。需要帮助..。
文件one.txt:
open server-ip-here
username-here
user-password-here
lcd C:\Backup\files
bin
hash
prompt
mget /usr/backup_02-11-2010.zip文件one.bat:
ftp -s:one.txt我将执行one.bat文件。
发布于 2011-01-29 15:57:03
在这里,它起了作用,我从专家们的每一个答案中抄袭了这些答案,以使它发挥作用:
@REM Beginning of one.bat
@Echo Off
@set mydate=%date:~-7,2%-%date:~-10,2%-%date:~-4%
@REM Next write the FTP commands into one.txt
@echo open server-ip-here> one.txt
@echo username-here>> one.txt
@echo password-here>> one.txt
@echo lcd G:\Backup\files>> one.txt
@echo bin>> one.txt
@echo hash>> one.txt
@echo prompt>> one.txt
@echo get /usr/backup_%mydate%.zip>> one.txt
@REM Finally run the FTP command with the one.txt file
ftp -s:one.txt
@REM End of one.bat脚本中的>或>>之前不应该有任何空间,而在我的示例中,脚本失败了,因为我在它们前面有空格,而且我尝试了很长时间。
脚本创建一个名为one.txt的文件,第一行...> one.txt覆盖one.txt文件,其余的附加到one.txt。
发布于 2010-11-08 13:42:06
并不是问Windows脚本编写的地方,但这是你的选择。将其添加到one.bat顶部,以便每次重写脚本文件。这假设您的Windows区域设置也设置为dd/mm/yyyy。
for /f "tokens=1-3 delims=/" %%a in ('date /t') do set dashdate=%%a-%%b-%%c
set dashdate=%dashdate: =%
echo open server-ip-here > one.txt
echo username-here >> one.txt
[etc...]
echo mget /usr/backup_%dashdate%.zip >> one.txt发布于 2010-11-08 13:47:06
我看不出用dos做这件事的方法,因为date命令输出的是08/11/2010,而不是08-11-2010。如果您可以安装powershell,则可以使用它获得正确的日期格式。
获取日期-uformat "%d-%m-%y“
然后将其附加到命令字符串中。
希望这能帮上忙,博德斯达
https://askubuntu.com/questions/12079
复制相似问题