Я использую следующий FTP-скрипт в Windows XP для загрузки zip-файлов с облачных серверов ubuntu. На серверах ubutnu каждый день создается zip-файл, и я буду загружать его в windows через этот ftp-скрипт. Я запускаю этот сценарий каждый день вручную, так как мне нужно отредактировать последнюю строку (mget /usr/backup_02-11-2010.Zip) сценария, чтобы она соответствовала сегодняшней дате. Я хочу отредактировать этот скрипт так, чтобы он загружал только сегодняшний zip-файл в запланированное время, без необходимости редактировать его каждый день по расписанию. Понятно, что дата добавляется к zip-файлам и имеет формат дд-мм-гггг. Нужна помощь...
open server-ip-here
username-here
user-password-here
lcd C:\Backup\files
bin
hash
prompt
mget /usr/backup_02-11-2010.zip
Добавьте в скрипт переменную, содержащую желаемый формат даты:
set mydate=%date:~0,2%-%date:~3,2%-%date:~6,4%
Это отобразит текущую дату в формате dd-mm-yyyy
. Затем вы можете использовать переменную mydate
чтобы получить фактический файл:
get /usr/backup_%mydate%.Zip
Здесь это сработало, и я скопировал у эксперта Weeheavy, чтобы заставить его работать:
@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.