powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / vbs (через vbs работать с ftp)
21 сообщений из 21, страница 1 из 1
vbs (через vbs работать с ftp)
    #33482586
tnirof
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ребят подскажите плиз как через vbs работать с ftp ну тоесть конект и закачка & скачка ! ???
приведите плиз хоть кусок примера ! !!!
...
Рейтинг: 0 / 0
vbs (через vbs работать с ftp)
    #33482635
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
хм.... никогда не пробовал :)
В принципе можно пойти немножко в обход. Правильного и прямого пути я пока просто не знаю :)

сформировать текстовый файл с командами для стандартного ftp агента:
Код: plaintext
1.
2.
3.
4.
5.
6.
open ftp.mysite.com
UserId
UserPassword
cd /somepath
binary
put c:\localpath\localfilename ftp_filename
quit
а потом скормить его ftp через:
Код: plaintext
1.
Set WshShell = WScript.CreateObject("WScript.Shell")
WshShell.Run "ftp -s:ftp_command.txt"
...
Рейтинг: 0 / 0
vbs (через vbs работать с ftp)
    #33483066
tnirof
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
не это неподходит ! !!!!

вот есть такой скриптик!!! :

Dim oFTP
Set oFTP = CreateObject ("FTP.WSC")
With oFTP
.Host = "ftp.myisp.net "
.Username = "me" ' default it anonymous
.Password = "pwd" ' default is also anon (e-mail address)
.FtpExecute "put \1\w.bat"
End With
Set oFTP = g
...
Рейтинг: 0 / 0
vbs (через vbs работать с ftp)
    #33485526
AL_KIR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мне как-то понадобилось чтобы обращение к FTP серверу помещалось в одной строке, ниже пример того как можно все усложнить, если понадобиться, могу показать другие команды...
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
102.
103.
104.
105.
106.
107.
108.
109.
110.
111.
'*******************************************************
' File:    sendftp.vbs  
' Author:  (c) Alexander Kir
' Edition: (c) Alexander Kir
'***********************************************************
'Const EXE =
'***********************************************************
ErrorMessege="What is it:"_
+vbCrLf+"	It's a script program sending file or files via ftp"_
+vbCrLf+"	using ftp command"_
+vbCrLf+"Usage:"_
+vbCrLf+"sendftp.vbs <Server> <User> <Pwd> <Where> <From> <ttl> <LogFile>"_
+vbCrLf+"Where:"_
+vbCrLf+"	<Server>	- FTP server name, ex: 192.168.0.3"_
+vbCrLf+"	<User>		- User name, ex: User"_
+vbCrLf+"	<Pwd>		- Password, ex: fig tebe example..."_
+vbCrLf+"	<Where>	- A directory on FTP server to uploading files"_
+vbCrLf+"	<From>		- Any file to sending"_
+vbCrLf+"	<ttl>		- Time to live in seconds, ex 300 (5 minutes)"_
+vbCrLf+"	<LogFile>	- File for logging"_
+vbCrLf+""_
+vbCrLf+"Example: "_
+vbCrLf+"	sendftp.vbs <Server> <User> <Pwd> <Where> <From> <ttl> <LogFile>"_
+vbCrLf+""_
+vbCrLf+"						(c) Alexander Kir"

'look how many argumens passed!?

Set objArgs = WScript.Arguments 
If objArgs.Count < 5  Then 
	MsgBox ErrorMessege,vbOKOnly & vbCritical, "!"
	WScript.Quit  1     
End If

'ok All arguments passed 
dim Server, User, Pwd, Where, From ' LogFile
Server=objArgs( 0 )
strUser=objArgs( 1 )
strPwd=objArgs( 2 )
Where=objArgs( 3 )
From=objArgs( 4 )
ttl=CInt(objArgs( 5 ))

Dim LogFile

If objArgs.Count > 5  Then 
	LogFile=objArgs( 6 )
Else
	LogFile="" 'no logging
End If

'script procedure for writing log messages
Sub WriteLog(ByVal Message)
	If LogFile="" Then
		'no logging
		'just say it
		wscript.echo(FormatDateTime(Now) & " : " & Message)
	Else
		Dim FSObj, Log
		Set FSObj = CreateObject("Scripting.FileSystemObject")
		Log = ""
		On Error Resume Next
		Set Log = FSObj.OpenTextFile(LogFile,  8 , True)
		Log.WriteLine (FormatDateTime(Now) & " ; " & Message)
		Log.Close
		FSObj = ""
	End If
End Sub

'make ftpscript
Set fso = CreateObject("Scripting.FileSystemObject")
Dim ftpscript 'need to make a uniq ftp script file
'ftpscript="ftp"+CStr(Year(Now()))+Right("0"+CStr(Month(Now())),2)+Right("0"+CStr(Day(Now())),2)+"_"+CStr(Random())+".ftp"
ftpscript="" & fso.GetTempName 
Set IniFile = fso.OpenTextFile(ftpscript,  2  ,  1 ) 'ForWriting=2
	IniFile.WriteLine "prompt"
	IniFile.WriteLine "open " & Server
	IniFile.WriteLine "" & strUser
	IniFile.WriteLine "" & strPwd
	IniFile.WriteLine "cd " & Where
	IniFile.WriteLine "mput " & From
	IniFile.WriteLine "close"
	IniFile.WriteLine "bye"
	IniFile.Close
IniFile = ""

WriteLog("Create " & ftpscript)

Set WshShell = WScript.CreateObject("WScript.Shell")
'WshShell.Run "ftp -s:" & ftpscript,, True
Dim oExec
Set oExec = WshShell.Exec("ftp -s:" & ftpscript)
waitsecons= 0 

Do While (oExec.Status =  0 ) and (waitsecons<ttl) 'Wating less then 5 minutes
	'redirect input, output and err
	WScript.Sleep  100 
	waitsecons=waitsecons+ 0 . 1 
Loop

workdonewell= 1 
if oExec.Status =  0  Then
	workdonewell= 0 
	WriteLog("Task terminated in " & ttl &" seconds " & ftpscript)
	oExec.Terminate()
End If
If (fso.FileExists(ftpscript)) Then
   fso.DeleteFile(ftpscript)
End If
if workdonewell= 1  Then
	WriteLog("Work done " & ftpscript)
End If
...
Рейтинг: 0 / 0
vbs (через vbs работать с ftp)
    #33486087
tnirof
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
да мне уже не надо !!! я сам уже написал 1!! но у меня в примере он сам создает файл в который сначало сливают в файд а потом командой ftp -s : имя этого фала ! все запускает !!!
...
Рейтинг: 0 / 0
vbs (через vbs работать с ftp)
    #33486109
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tnirofда мне уже не надо !!! я сам уже написал 1!! но у меня в примере он сам создает файл в который сначало сливают в файд а потом командой ftp -s : имя этого фала ! все запускает !!!
Ничего не понял. В каком примере у тебя что делается? Вот в этом?
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
Dim oFTP
Set oFTP = CreateObject ("FTP.WSC")
With oFTP
   .Host = "ftp.myisp.net "
   .Username = "me" ' default it anonymous
   .Password = "pwd" ' default is also anon (e-mail address)
   .FtpExecute "put \1\w.bat"
End With
И ты его не можешь запустить? Или ты воспользовался нашим с AL_KIR советом использовать стандартный ftp-агент?

Если хочешь использовать этот пример, то тебе понадобится или самому написать или найти готовый ftp.wsc. Описание как их делать есть в доке на Windows Scripting.
Вот сюда загляни:
http://cwashington.netreach.net/depo/view.asp?Index=124&ScriptType=component
Там уже готовый опубликован. Может он даже работает :)
...
Рейтинг: 0 / 0
vbs (через vbs работать с ftp)
    #33486110
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
White OwlВот сюда загляни:
http://cwashington.netreach.net/depo/view.asp?Index=124&ScriptType=component
Там уже готовый опубликован. Может он даже работает :)
А впрочем, оно тоже работает через тот же самый ftp.exe :) Разве что снаружи оно теперь в vbs обертке :)
...
Рейтинг: 0 / 0
vbs (через vbs работать с ftp)
    #33486114
tnirof
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
НЕ РЕБЯТ У МЕНЯ ТАКОЙ СКРИПТ ! И ТОЖЕ РАБОТЕТ ЧЕРЕЗ ftp.exe
const root = "_"
const scriptnam = "_\_"
set fs = CreateObject("Scripting.FileSystemObject")
set startfolder = fs.GetFolder(root)
set filc = startfolder.Files ' Get file collection
set f_out = fs.CreateTextFile(scriptnam,TRUE) ' New file
f_out.writeline("_")
f_out.writeline("_")
f_out.writeline("_")
f_out.writeline("_")
f_out.writeline("_")
f_out.Close
Set WshShell = WScript.CreateObject("WScript.Shell")
WshShell.Run "_", 0, false
...
Рейтинг: 0 / 0
vbs (через vbs работать с ftp)
    #33486117
tnirof
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
скрипт создает файл в который вписывает все команды ! а потом запускает его через ftp.exe -s: имя этого файла!
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
vbs (через vbs работать с ftp)
    #34336562
Dronskiy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Помогите пожалуйста у меня сходная проблема по отправки файла на ftp.Данный пример у меня с ftp.exe не работает,что нужно изменить в нем
Dim oFTP
Set oFTP = CreateObject ("FTP.WSC")
With oFTP
.Host = "ftp.myisp.net "
.Username = "me" ' default it anonymous
.Password = "pwd" ' default is also anon (e-mail address)
.FtpExecute "put \1\w.bat"
End With

И еще вопрос :.FtpExecute "put \1\w.bat" вот в этой строчке прописывается путь к файлу,который должен быть отослан на ftp

Заранее спасибо!
...
Рейтинг: 0 / 0
vbs (через vbs работать с ftp)
    #34336610
vbapro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
здесь хорошо описано как самому через API сделать. Все работает.
http://www.codenet.ru/progr/vbasic/FTP.php
...
Рейтинг: 0 / 0
vbs (через vbs работать с ftp)
    #34336632
Dronskiy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
vbaproздесь хорошо описано как самому через API сделать. Все работает.
http://www.codenet.ru/progr/vbasic/FTP.php
Спасибо ради спортивного интереса попробую.
Взял пример White Owl все работает и слава богу:)
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
vbs (через vbs работать с ftp)
    #37231126
sknmrz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Помогите пож-та написать скрипт отправки\получения файла по ФТП через WshShell.Exec.
Есть файл для отправки - С:\temp\my.xml, его нужно отправить на фтп сервер - ftp.myserver.com в папку ht\orders на этом сервере. Как мне написать правильно, так не работает...
Код: plaintext
1.
Set WshShell = WScript.CreateObject("WScript.Shell")
WshShell.Run "ftp -s:С:\temp\my.xml  ftp.myserver.com\ht\orders\my.xml ,1,1"
...
Рейтинг: 0 / 0
vbs (через vbs работать с ftp)
    #37231872
sknmrz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Сильные мира сего, не оставляйте мой ничтожный вопрос без ответа ))
...
Рейтинг: 0 / 0
vbs (через vbs работать с ftp)
    #37232182
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
наберите в командной строке

ftp -help

и смотрите, насколько Ваша комстрока не соответствует тому, что хочет увидеть ftp.exe...
...
Рейтинг: 0 / 0
vbs (через vbs работать с ftp)
    #37232204
lyalya2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
sknmrz,

[SRC vbs]
const root = "С:\temp\"
const scriptnam = "С:\temp\run.bat"
set fs = CreateObject("Scripting.FileSystemObject")
set startfolder = fs.GetFolder(root)
set filc = startfolder.Files
Set f_out = fs.CreateTextFile(scriptnam,TRUE)
f_out.writeline("echo off")
f_out.writeline("cd \")
f_out.writeline("echo open ftp://server.ru>logi")
f_out.writeline("echo LOGIN>>logi")
f_out.writeline("echo PASSWORD>>logi")
f_out.writeline("echo bin>>logi")
f_out.writeline("echo cd WWW>>logi")
f_out.writeline("echo cd tvoya_direktoriya>>logi")
f_out.writeline("echo send my.xml>>logi")
f_out.writeline("echo cd ..>>logi")
f_out.writeline("echo bye>>logi")
f_out.writeline("ftp -s:logi")
f_out.writeline("del logi")
f_out.writeline("exit")
f_out.Close
Set WshShell = WScript.CreateObject("WScript.Shell")
WshShell.Run "С:\temp\run.bat", 0, False
' в скрытом режиме.
[/SRC]
...
Рейтинг: 0 / 0
vbs (через vbs работать с ftp)
    #37278129
chichiton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем привет!
Прошу помощи. Задача заключается в следующем: есть папка на диске C: в ней лежат подпапки с файлами. Нужно все подпапки с файлами выкладывать на фтп и удалять их с диска. В vbs не силен совсем, как искать и выкладывать файлы непосредственно из папки понятно, но с подпапками затык. Может быть у кого нибудь есть похожий скрипт или подскажите в каком направлении копать.
...
Рейтинг: 0 / 0
vbs (через vbs работать с ftp)
    #37283472
zchvv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пример обхода всех подкаталогов данного каталога (из учебника, проверено)
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
Private fs as New FileSystemObject
Private i as Long

Sub StartFolders()

Dim fl as Folder
Set fl=fs.GetFolder("c:\MyFolder")
i= 1 
ListSubFolders fl

End Sub

Sub ListSubFolders(ByVal fl as Folder)
Private Sub ListSubFolders(ByVal fl As Folder)
Dim sf As Folders
Set sf = fl.SubFolders

If sf.Count >  0  Then
    For Each fld In sf
        ListSubFolders fld
        Cells(i, 1 ).Value=fld.Path
        i = i +  1 
    Next
End If

End Sub
...
Рейтинг: 0 / 0
vbs (через vbs работать с ftp)
    #37537509
p_Forsag
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ммм.. с объектами Scripting.FileSystemObject можно выполнять операции с файлами вида "copy filename_curdate*"... , таким образом, мы скопируем файл, который начинается на filename_curdate , а что дальше - не важно.

Можно ли как-то через команды ftp.exe определить точное имя файла (чтобы его потом скопировать) ? Регулярные выражения там какие-нить есть? )) Хотя я брежу по-моему)))

P.S. Еще есть вариант копировать всю папку с FTP и уже у себя на компе находить нужный файл, но не ясно как скопировать всю папку целиком. Или также, как и файл ?
...
Рейтинг: 0 / 0
vbs (через vbs работать с ftp)
    #37537583
p_Forsag
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
сам спросил, сам отвечу. Маска работает в команде mget.

Пример,

open myFtp
Lcd D:\localcatalog
cd catalogFTP
mget filename.fileextension_20111120_2135*
y
...
Рейтинг: 0 / 0
vbs (через vbs работать с ftp)
    #37558099
dazm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем привет, а не подскажите, как через vbs реализовать просмотр файлов по расширению на ftp и если дата создания файла совпадает с текущей, то создать какой-нибудь файл в той же дирректории ?
...
Рейтинг: 0 / 0
21 сообщений из 21, страница 1 из 1
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / vbs (через vbs работать с ftp)
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]