Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   [решено] Копирование файлов с моего пк на FTP-сервер (http://forum.oszone.net/showthread.php?t=169489)

zeroua 08-03-2010 12:38 1363515

Копирование файлов с моего пк на FTP-сервер
 
Хочется реализовать авто подключение и копирование файлов на FTP-сервер с заменой старых. Но тут есть пару нюансов:

структура папок с файлами:

c:\Program Files\Metalex Soft\Tourney Master\Tournaments\css (все содержимое в папку на FTP-сервер в папку с тем же именем)
c:\Program Files\Metalex Soft\Tourney Master\Tournaments\images (все содержимое в папку на FTP-сервер в папку с тем же именем)
c:\Program Files\Metalex Soft\Tourney Master\Tournaments\scripts (все содержимое в папку на FTP-сервер в папку с тем же именем)
c:\Program Files\Metalex Soft\Tourney Master\Tournaments\index.html (в папке c:\Program Files\Metalex Soft\Tourney Master\Tournaments\ есть файл 1х1.Htm его нужно переименовать в index.html перед копирование)



Все это нужно скопировать и заменить старые файлы на FTP-сервере

Буду очень признателен за помощь в написании данного скрипта !

amel27 09-03-2010 12:04 1364186

zeroua, вариант через ncftpput (каталог "...\Tournaments" на FTP должен уже существовать):
Код:

@Echo Off

Set ROOT=Program Files\Metalex Soft\Tourney Master\Tournaments
Set USER=anonymous
Set PASS=user@mail.ru

If Exist "C:\%ROOT%\1x1.htm" (
If Exist "C:\%ROOT%\index.html" DEL /F/Q "C:\%ROOT%\index.html"
REN "C:\%ROOT%\1x1.htm" index.html)

ncftpput -u %USER% -p %PASS% -R ftp.dom.local "%ROOT%" "C:\%ROOT%\css"
ncftpput -u %USER% -p %PASS% -R ftp.dom.local "%ROOT%" "C:\%ROOT%\images"
ncftpput -u %USER% -p %PASS% -R ftp.dom.local "%ROOT%" "C:\%ROOT%\scripts"
ncftpput -u %USER% -p %PASS%    ftp.dom.local "%ROOT%" "C:\%ROOT%\index.html"


zeroua 09-03-2010 13:16 1364242

amel27, значит мне будет нужно скачать NcFTP Client 3.2.3 for Microsoft Windows из него можно я так понимаю установить только ncftpput, далее создать каталог Tournaments на FTP и выполнить командный файл *.cmd:

Код:

@Echo Off

Set ROOT=Program Files\Metalex Soft\Tourney Master\Tournaments
Set USER=anonymous
Set PASS=user@mail.ru

If Exist "C:\%ROOT%\1x1.htm" (
If Exist "C:\%ROOT%\index.html" DEL /F/Q "C:\%ROOT%\index.html"
REN "C:\%ROOT%\1x1.htm" index.html)

ncftpput -u %USER% -p %PASS% -R 10.127.38.150 "%ROOT%" "C:\%ROOT%\css"
ncftpput -u %USER% -p %PASS% -R 10.127.38.150 "%ROOT%" "C:\%ROOT%\images"
ncftpput -u %USER% -p %PASS% -R 10.127.38.150 "%ROOT%" "C:\%ROOT%\scripts"
ncftpput -u %USER% -p %PASS%    10.127.38.150 "%ROOT%" "C:\%ROOT%\index.html"

Я все правильно понял, если нет то поправьте.

amel27 09-03-2010 15:25 1364387

zeroua, скачать, установить, выдернуть ncftpput, создать структуру каталогов, запустить... и зачем дублировать пост? :unsure:

zeroua 10-03-2010 10:27 1365066

amel27, хм возможно я делаю что-то не так но у меня что-то не получается, папка ...\Tournaments после выполнения скрипта пустая, скрин:


amel27 10-03-2010 11:01 1365090

zeroua, скрипт для целевого пути: "ftp://X.X.X.X/Program Files/Metalex Soft/Tourney Master/Tournaments"

zeroua 10-03-2010 11:17 1365106

amel27, значит должно быть в скрипте:

Код:

Set ROOT=ftp://192.168.50.50\Program Files\Metalex Soft\Tourney Master\Tournaments
??? а то похоже я слабо понимаю ...

amel27 10-03-2010 11:25 1365109

zeroua, на FTP должен быть каталог "Program Files/Metalex Soft/Tourney Master/Tournaments" а нужно как?

zeroua 10-03-2010 11:54 1365134

amel27, о получилось ура ! ;) такс теперь последний вопрос если к примеру у меня исходные файлы будут лежать в каталоге c:\Tournaments, то на FTP должен быть только каталог Tournaments я правильно понимаю ну и в скрипте вместо

Код:

Set ROOT=Program Files\Metalex Soft\Tourney Master\Tournaments будет Set ROOT=Tournaments

amel27 10-03-2010 15:34 1365285

Цитата:

Цитата zeroua
я правильно понимаю»

правильно, именно так я понял слова "в папку с тем же именем", если структура каталогов на FTP и диске разная это не проблема:
Код:

@Echo Off

Set FROM=C:\Program Files\Metalex Soft\Tourney Master\Tournaments
Set FFTP=Tournaments
Set USER=anonymous
Set PASS=user@mail.ru

If Exist "%FROM%\1x1.htm" (
If Exist "%FROM%\index.html" DEL /F/Q "%FROM%\index.html"
REN "%FROM%\1x1.htm" index.html)

ncftpput -u %USER% -p %PASS% -R ftp.dom.local "%FFTP%" "%FROM%\css"
ncftpput -u %USER% -p %PASS% -R ftp.dom.local "%FFTP%" "%FROM%\images"
ncftpput -u %USER% -p %PASS% -R ftp.dom.local "%FFTP%" "%FROM%\scripts"
ncftpput -u %USER% -p %PASS%    ftp.dom.local "%FFTP%" "%FROM%\index.html"


zeroua 10-03-2010 15:47 1365301

amel27, о а если скажем просто в корень FTP *? то как тогда нужно написать ?

amel27 10-03-2010 16:11 1365322

Цитата:

Цитата zeroua
если скажем просто в корень FTP *? то как тогда нужно написать ? »

Код:

Set FFTP=.

zeroua 10-03-2010 16:16 1365328

amel27, я уже и сам понял спс ;)

З.Ы. вы мне сильно помогли ...

Skrytener 04-09-2012 12:57 1982758

Привет всем.
Вопрос в тему: как с помощью ncftpput создать папку в директории на ftp? По документации надо использовать "-m", но никак не могу понять куда его прикрутить. (ситуация такая - у меня есть переменная %V% - hostname компа из которого будет копироваться файл на ftp, компов много и для каждого создать папку с именем компа, где потом будет нужный файл).


Время: 07:46.

Время: 07:46.
© OSzone.net 2001-