Войти

Показать полную графическую версию : резервное копирование произвольных файлов на ftp


oleg1345140
25-05-2012, 17:56
Здравствуйте уважаемые гуро, Помогите написать BAT файл.

Суть проблемы заключается в следующем, имеется парк компьютеров и пользователям переодически необходимо сохранять некоторые папки на фтп сервере, но к сожалению большая часть этих пользователей не умеют загружать файлы на фтп и мне приходится бегать и сохранять файлы за них.

Помогите написать батник который будет cсоздавать на сервере папку с именем состоящей из даты и времени в формате "ГГГГММДДЧЧММСС" и копировать содержимое папки в которой находится сам со всеми подпапками на фтп сервер в созданную папку.
Заранее спасибо за помошь.

oleg1345140
28-05-2012, 18:06
Я создал бат файл следующего содержания:

@Echo off
cd d:\23 (Путь к папке с файламми для копирования правда приходится его менять в ручную !!!)
dir/s/b>files.txt
(For /F %%i In (files.txt) Do (
Set nm=%%i
For /F "tokens=*" %%k In (command.txt) Do For /F "tokens=*" %%j In ('Echo %%k') Do Echo %%j
Echo.
))>ftp_command.txt

ftp -s:ftp_command.txt -i фтп для резервирования>lod.txt

и фаил command.txt следующего содержания:

USER
PASS
binary
mput %nm%

Но не работает. подскажите где я ошибся и как сделать что бы не нужно было править фаил бат

oleg1345140
30-05-2012, 18:48
Неужели ни уког не возникало данной необходимости?

DesmondTruman
31-05-2012, 11:15
mput %nm% »
В ftp модуле не действуют переменные окружения cmd.exe, ибо "«ftp.exe» — это отдельное приложение."©Iska :)

Anton04
31-05-2012, 13:01
oleg1345140,

В свете вышесказанного В ftp модуле не действуют переменные окружения cmd.exe » я бы предложил разбить задачу на две или три:

1. Подключение к FTP.
2. Копирование файлов.
3. Отключение от FTP.

По моему так будет проще...

oleg1345140
04-06-2012, 16:37
Возникла идея предварительно архивировать нужную дерикторию, но возник вопрос как из батника заставить заархивировать папку где находится сам батник.

Anton04
30-10-2012, 16:53
Возникла идея предварительно архивировать нужную дерикторию, но возник вопрос как из батника заставить заархивировать папку где находится сам батник. »

Нет ничего проще, но в лучшем случае нужно использовать архиватор, т.к. поковать в zip встроенной утилитой далеко от идеала. Команды запаковки файлов отличаются у каждого конкретного архиватора (нужно смотреть их help).
А так нет ничего проще.




© OSzone.net 2001-2012