Показать полную графическую версию : [решено] Копирование файлов с моего пк на 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 перед копирование)
http://s3.sendpic.ru/i/1038/t/FX.jpeg (http://s3.sendpic.ru/i/1038/i/FX.jpeg.html)
Все это нужно скопировать и заменить старые файлы на FTP-сервере
Буду очень признателен за помощь в написании данного скрипта !
zeroua, вариант через ncftpput (http://www.ncftp.com/ncftp/doc/ncftpput.html) (каталог "...\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"
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"
Я все правильно понял, если нет то поправьте.
zeroua, скачать, установить, выдернуть ncftpput, создать структуру каталогов, запустить... и зачем дублировать пост? :unsure:
amel27, хм возможно я делаю что-то не так но у меня что-то не получается, папка ...\Tournaments после выполнения скрипта пустая, скрин:
http://s3.sendpic.ru/i/10310/t/HFc.jpeg (http://s3.sendpic.ru/i/10310/i/HFc.jpeg.html)
zeroua, скрипт для целевого пути: "ftp://X.X.X.X/Program Files/Metalex Soft/Tourney Master/Tournaments"
amel27, значит должно быть в скрипте:
Set ROOT=ftp://192.168.50.50\Program Files\Metalex Soft\Tourney Master\Tournaments ??? а то похоже я слабо понимаю ...
zeroua, на FTP должен быть каталог "Program Files/Metalex Soft/Tourney Master/Tournaments" а нужно как?
amel27, о получилось ура ! ;) такс теперь последний вопрос если к примеру у меня исходные файлы будут лежать в каталоге c:\Tournaments, то на FTP должен быть только каталог Tournaments я правильно понимаю ну и в скрипте вместо
Set ROOT=Program Files\Metalex Soft\Tourney Master\Tournaments будет Set ROOT=Tournaments
я правильно понимаю»
правильно, именно так я понял слова "в папку с тем же именем", если структура каталогов на 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"
amel27, о а если скажем просто в корень FTP *? то как тогда нужно написать ?
если скажем просто в корень FTP *? то как тогда нужно написать ? »Set FFTP=.
amel27, я уже и сам понял спс ;)
З.Ы. вы мне сильно помогли ...
Skrytener
04-09-2012, 12:57
Привет всем.
Вопрос в тему: как с помощью ncftpput создать папку в директории на ftp? По документации надо использовать "-m", но никак не могу понять куда его прикрутить. (ситуация такая - у меня есть переменная %V% - hostname компа из которого будет копироваться файл на ftp, компов много и для каждого создать папку с именем компа, где потом будет нужный файл).
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.