BASP21 FTP�I�u�W�F�N�g
BASP21 FTP�I�u�W�F�N�g�́AASP�� VBScript ��Visual Basic�AEXCEL VBA
WSH(Windows Scripting Host)�Ȃǂ���g����t�@�C���]���v���g�R��(FTP)�R���|�[�l���g�ł��B
��Connect(svr,user,pass) : �R�l�N�V�������m��
��GetFile(remote,local[,type]) : �����[�g����t�@�C������M
��PutFile(local,remote[,type]) : �����[�g�փt�@�C���𑗐M
��PutToday(local,remote[,type]) : �����[�g�֖{���ύX�̃t�@�C���𑗐M
��DeleteFile(remote) : �����[�g�̃t�@�C�����폜
��RenameFile(old,new) : �����[�g�̃t�@�C�������l�[��
��GetDir(remote[,mode]) : �����[�g�̃t�@�C���ꗗ
��Command(cmd) : FTP�R�}���h���s
��GetReply() : FTP�R�}���h�̉����e�L�X�g
��OpenLog(file[,mode]) : ���O�t�@�C���I�[�v��
��CloseLog() : ���O�t�@�C���N���[�Y
��Close() : �ڑ��̃N���[�Y
�a�`�r�o�Q�P �e�s�o�I�u�W�F�N�g�̎g����
CreateObject���\�b�h��"basp21.FTP" �Ƃ������O�ŃI�u�W�F�N�g���쐬���܂��B
Set ftp = Server.CreateObject("basp21.FTP") ' ASP
Set ftp = CreateObject("basp21.FTP") ' VBA �� VB
Set ftp = WScript.CreateObject("basp21.FTP") ' WSH
�쐬�����I�u�W�F�N�g�Ń��\�b�h���ďo���܂��B
�ϐ� = ftp.���\�b�h��(�p�����[�^)
�a�`�r�o�Q�P �e�s�o�I�u�W�F�N�g�̃��\�b�h�̐���
- Connect
FTP�T�[�o�ɐڑ����܂��B
rc = ftp.Connect(svr,user,pass)
svr [in] : �ڑ����IP�A�h���X�܂��̓l�b�g���[�N�z�X�g���B
FTP�T�[�o��[:�|�[�g�ԍ�][:�^�C���A�E�g][�t�@�C�A�[�E�H�[��]�B":" �ŋ���ă|�[�g�ԍ��i�ȗ��l21�j��
�^�C���A�E�g�l�i�b�P�ʁA�ȗ��l120)���w��ł��܂��B
�t�@�C�A�[�E�H�[���o�R�̏ꍇ�́A���̂悤�Ɏw�肵�܂��B
fhost fuser/fpass SITE
fhost fuser/fpass
fhost
fhost OPEN
user [in] : ���[�U���B
pass [in] : �p�X���[�h�B
rc [out] : ���ʃR�[�h�������ŕԂ���܂��B
0 : �ڑ��n�j
1 - 5 : FTP �G���[�BGetReply���\�b�h��FTP�����e�L�X�g�ŏڍׂׂĂ��������B
10000�ȏ� : Winsock Error
�T�^�I�ȃG���[�� 11001 �z�X�g����������Ȃ�
-1 : �\�P�b�g�I�[�v���G���[
-2 : �^�C���A�E�g
��F
rc = ftp.Connect("ftp.microsoft.com:21:120","anonymous","who@who.com")
rc = ftp.Connect("ftp.microsoft.com proxyhost user1/pass1","anonymous","who@who.com")
- GetFile
�����[�g����t�@�C������M���܂��B�t�@�C�����́A����("*")���g���ĕ����t�@�C�����w��ł��܂��B
rc = ftp.GetFile(remote,local[,type])
remote [in] : �����[�g�̃t�@�C�����B�f�B���N�g���̋��� "/" ���g���܂��B
�����t�@�C���̎w��́A "a*.txt" �A"*"�A"*.html" �Ȃǂ̂悤�� "*" ���g���܂��B
"*" �́A�P���g���܂���B�Ⴆ�A"*aa*.txt" �͎w��ł��܂���B
��F a.html --- �J�����g�f�B���N�g����a.html
html/a.html --- html�f�B���N�g����a.html
html/*.html --- html�f�B���N�g���� .html �t�@�C�����ׂ�
html/* --- html�f�B���N�g���̂��ׂẴt�@�C��
local [in] : ���[�J��(BASP21�������Ă���}�V��)�̃t�@�C�����܂��̓f�B���N�g�����B
�����t�@�C���̏ꍇ�A�f�B���N�g�������w�肵�Ă��������B
type [in] : ��M����f�[�^�`�������̂悤�Ɏw�肵�܂��B
0 : ASCII�i�ȗ��l)�Btxt/html �Ȃǂ̃e�L�X�g�t�@�C���̏ꍇ�B
1 : �o�C�i���Bjpg/gif/exe/lzh/tar.gz �Ȃǂ̃o�C�i���t�@�C���̏ꍇ�B
rc [out] : ���ʃR�[�h�������ŕԂ���܂��B
1�ȏ� : ����I���B���M�����t�@�C�����B
0 : �Y������t�@�C���Ȃ��B
1,0�ȊO : �G���[�BGetReply���\�b�h��FTP�����e�L�X�g�ŏڍׂׂĂ��������B
��F
rc = ftp.GetFile("html/index.html","c:\temp\html") ' �e�L�X�g�t�@�C���̎�M
rc = ftp.GetFile("html/index.html","c:\temp\html\index2.html") ' �e�L�X�g�t�@�C���̎�M�i�ʖ��ŕۑ��j
rc = ftp.GetFile("html/*.html","c:\temp\html") ' �e�L�X�g�t�@�C���̎�M
rc = ftp.GetFile("html/images/*","c:\temp\image",1) ' �o�C�i���t�@�C���̎�M
- PutFile
�����[�g�փt�@�C���𑗐M���܂��B�����t�@�C���̑��M���ł��܂��B
rc = ftp.PutFile(local,remote[,type])
local [in] : ���M����t�@�C�������t���p�X�Ŏw�肵�܂��B
�����t�@�C���̎w��́A "a*.txt" �A"*"�A"*.html" �Ȃǂ̂悤�� "*" ���g���܂��B
��F c:\html\a.html --- html�f�B���N�g����a.html
c:\html\*.html --- html�f�B���N�g���� .html �t�@�C�����ׂ�
c:\html\* --- html�f�B���N�g���̂��ׂẴt�@�C��
remote [in] : �����[�g�̃f�B���N�g�����B"" �́A�J�����g�f�B���N�g���B
type [in] : ���M����f�[�^�`�������̂悤�Ɏw�肵�܂��B
0 : ASCII�i�ȗ��l)�Btxt/html �Ȃǂ̃e�L�X�g�t�@�C���̏ꍇ�B
1 : �o�C�i���Bjpg/gif/exe/lzh/tar.gz �Ȃǂ̃o�C�i���t�@�C���̏ꍇ�B
2 : ASCII + �lj�(Append)���[�h�B
3 : �o�C�i�� + �lj�(Append)���[�h�B
rc [out] : ���ʃR�[�h�������ŕԂ���܂��B
1�ȏ� : ����I���B���M�����t�@�C�����B
0 : �Y������t�@�C���Ȃ��B
1,0�ȊO : �G���[�BGetReply���\�b�h��FTP�����e�L�X�g�ŏڍׂׂĂ��������B
��F
rc = ftp.PutFile("c:\html\index.html","html") ' �e�L�X�g�t�@�C���̑��M
rc = ftp.PutFile("c:\html\*.html","html") ' �e�L�X�g�t�@�C���̑��M
rc = ftp.PutFile("c:\html\*.html","html",2) ' �e�L�X�g�t�@�C����Append���[�h���M
rc = ftp.PutFile("c:\html\images\*","html/images",1) ' �o�C�i���t�@�C���̑��M
- PutToday
�����[�g�֖{���ύX�����t�@�C���𑗐M���܂��B�ύX�����t�@�C���������M�������Ƃ��ɕ֗��B
rc = ftp.PutToday(local,remote[,type])
local [in] : ���M����t�@�C�������t���p�X�Ŏw�肵�܂��B
�����t�@�C���̎w��́A "a*.txt" �A"*"�A"*.html" �Ȃǂ̂悤�� "*" ���g���܂��B
��F c:\html\a.html --- html�f�B���N�g����a.html
c:\html\*.html --- html�f�B���N�g���� .html �t�@�C�����ׂ�
c:\html\* --- html�f�B���N�g���̂��ׂẴt�@�C��
remote [in] : �����[�g�̃f�B���N�g�����B"" �́A�J�����g�f�B���N�g���B
type [in] : ���M����f�[�^�`�������̂悤�Ɏw�肵�܂��B
0 : ASCII�i�ȗ��l)�Btxt/html �Ȃǂ̃e�L�X�g�t�@�C���̏ꍇ�B
1 : �o�C�i���Bjpg/gif/exe/lzh/tar.gz �Ȃǂ̃o�C�i���t�@�C���̏ꍇ�B
2 : ASCII + �lj�(Append)���[�h�B
3 : �o�C�i�� + �lj�(Append)���[�h�B
rc [out] : ���ʃR�[�h�������ŕԂ���܂��B
1�ȏ� : ����I���B���M�����t�@�C�����B
0 : �G���[�BGetReply���\�b�h��FTP�����e�L�X�g�ŏڍׂׂĂ��������B
��F
rc = ftp.PutToday("c:\html\*.html","html") ' �����ύX�����t�@�C���𑗐M
- DeleteFile
�����[�g�̃t�@�C�����폜���܂��B�����t�@�C���̎w�肪�ł��܂��B
rc = ftp.DeleteFile(remote)
remote [in] : �폜�������t�@�C�������w�肵�܂��B�f�B���N�g���̋��� "/" ���g���܂��B
�����t�@�C���̎w��́A "a*.txt" �A"*"�A"*.html" �Ȃǂ̂悤�� "*" ���g���܂��B
"*" �́A�P���g���܂���B�Ⴆ�A"*aa*.txt" �͎w��ł��܂���B
��F a.html --- �J�����g�f�B���N�g����a.html
html/a.html --- html�f�B���N�g����a.html
html/*.html --- html�f�B���N�g���� .html �t�@�C�����ׂ�
html/* --- html�f�B���N�g���̂��ׂẴt�@�C��
rc [out] : ���ʃR�[�h�������ŕԂ���܂��B
1�ȏ� : ����I���B�폜�����t�@�C�����B
0 : �G���[�BGetReply���\�b�h��FTP�����e�L�X�g�ŏڍׂׂĂ��������B
��F
rc =ftp.DeleteFile("html/*") ' html�f�B���N�g���̂��ׂč폜
- RenameFile
�����[�g�̃t�@�C�������l�[�����܂��B
rc = ftp.RenameFile(old,new)
old [in] : �ύX�O�̃t�@�C�����B
new [in] : �ύX��̃t�@�C�����B
rc [out] : ���ʃR�[�h�������ŕԂ���܂��B
2 : �ύX�n�j
2�ȊO : �G���[�BGetReply���\�b�h��FTP�����e�L�X�g�ŏڍׂׂĂ��������B
��F
rc = ftp.RenameFile("html/index.html","html/top.html") ' index.html -> top.html
- GetDir
�����[�g�̃t�@�C���ꗗ��z��ŕԂ��܂��B
farray = ftp.GetDir(remote[,mode])
remote [in] : �����[�g�̃f�B���N�g�����B""�́A�J�����g�f�B���N�g���B
mode [in] : �t�@�C���ꗗ�̎�ށB
0 : �ȗ��l�B�t�@�C�����̂݁B
1 : �f�B���N�g�����̂݁B
2 : LIST�t�H�[�}�b�g�BLIST�R�}���h�̌��ʂ�Ԃ��܂��B�ڍׂȃf�B���N�g���̃��X�g�B
3 : NLST�t�H�[�}�b�g�BNLST�R�}���h�̌��ʂ�Ԃ��܂��B���O�݂̂̃��X�g�B
farray [out] : ���ʂ��z��ŕԂ���܂��B�G���[��G���g�����Ȃ��Ƃ��́A�z���Ԃ��܂���B
��F
rc = ftp.GetDir("") ' �J�����g�f�B���N�g���̃t�@�C���ꗗ
- Command
FTP�R�}���h�����s���܂��BSTOR/RETR/LIST/NLST�Ȃǂ̃f�[�^�]�����R�}���h�́A���s�ł��܂���B
rc = ftp.Command(cmd)
cmd [in] : �R�}���h���ƃp�����[�^�B���s�ł���R�}���h�́AFTP�T�[�o�ɂ���ĈقȂ�܂��B
���̂悤�ȃR�}���h��FTP�v���g�R���ł͒�`����Ă��܂��B
��HELP [�R�}���h] --- �T�[�o�̎����Ȃǂ�\���B
��CWD �p�X�� --- �f�B���N�g���ύX�B
��CDUP --- �e�̃f�B���N�g���Ɉړ��B
��RMD �p�X�� --- �f�B���N�g���̍폜�B
��MKD �p�X�� --- �f�B���N�g���̍쐬�B
��PMD --- ��ƃf�B���N�g�����̕\���B
��SITE ������ --- �t�@�C���̑����ύX�Ȃǂ̃T�[�r�X�̎��s�BHELP SITE �R�}���h�ŃT�[�r�X�ꗗ��\���ł��܂��B
��SYST --- �T�[�o��OS�̎�ނ�\���B
��pasv --- BASP21 �g���Bpassive ���[�h�ňȍ~�̏��������s�B
rc [out] : ���ʃR�[�h�������ŕԂ���܂��B
2 : �n�j�B���s���ʂ̃e�L�X�g�́AGetReply���\�b�h�ŋ��߂܂��B
-1 : STOR/RETR/LIST/NLST�Ȃǂ̃f�[�^�]�����R�}���h�́A���s�ł��܂���B
�ȊO : �G���[�BGetReply���\�b�h��FTP�����e�L�X�g�ŏڍׂׂĂ��������B
��F
' passive���[�h�ɂ���
ftp.Command("pasv") ' ��x�ďo���� OK
rc = ftp.Command("HELP") ' HELP�R�}���h
help = ftp.GetReply() ' �R�}���h�̉���
help�̓��e�i�T�[�o�ɂ���ĈقȂ�܂��j�F
214-The following commands are recognized (* =>'s unimplemented).
USER PORT STOR MSAM* RNTO NLST MKD CDUP PBSZ*
PASS PASV APPE MRSQ* ABOR SITE XMKD XCUP PROT*
ACCT* TYPE MLFL* MRCP* DELE SYST RMD STOU SIZE
SMNT* STRU MAIL* ALLO CWD STAT XRMD AUTH* MDTM
REIN* MODE MSND* REST XCWD HELP PWD ADAT*
QUIT RETR MSOM* RNFR LIST NOOP XPWD CCC*
214 Direct comments to ftp-bugs@server1.
rc = ftp.Command("HELP SITE") ' HELP SITE�R�}���h
helpsite = ftp.GetReply() ' �R�}���h�̉���
helpsite�̓��e�i�T�[�o�ɂ���ĈقȂ�܂��j�F
214-The following SITE commands are recognized (* =>'s unimplemented).
UMASK IDLE CHMOD HELP
214 Direct comments to ftp-bugs@server1.
rc = ftp.Command("HELP SITE CHMOD") ' HELP SITE CHMOD�R�}���h
helpchmod = ftp.GetReply() ' �R�}���h�̉���
helpchmod�̓��e�i�T�[�o�ɂ���ĈقȂ�܂��j�F
214 Syntax: SITE CHMOD mode file-name
���ӁFOS �t����FTP�R�}���h�Ƃ͈قȂ�܂��B
quote �R�}���h�́ASITE �R�}���h�ɑΉ����܂��B
- GetReply
FTP�R�}���h�̉����e�L�X�g������܂��B�G���[�̏ڍׂ�Command���\�b�h�̎��s���ʂ�
����܂��B
text = ftp.GetReply()
text [out] : �����e�L�X�g��������ŕԂ���܂��B�����s�ɓn��ꍇ�ACRLF���܂܂�܂��B
��F
text = ftp.GetReplay()
- OpenLog
���O�t�@�C�����I�[�v�����܂��BFTP�T�[�o�Ƃ�FTP�R�}���h�̂��Ƃ���e�L�X�g�t�@�C����
�ۑ����܂��B
rc = ftp.OpenLog(file[,mode])
file [in] : ���O�t�@�C�����t���p�X�Ŏw�肵�܂��B
mode [in] : �V�K�ɍ쐬����ꍇ 0 �i�ȗ��l�j���A�lj�����ꍇ�́A 1 ���w�肵�܂��B
rc [out] : ���ʃR�[�h�������ŕԂ���܂��B
0 : �n�j
0�ȊO : �G���[�B
��F
rc = ftp.OpenLog("c:\ftplog.txt",1) ' �lj����[�h�ŃI�[�v��
- CloseLog
���O�t�@�C�����N���[�Y���܂��B
rc = ftp.CloseLog()
rc [out] : ���ʃR�[�h�������ŕԂ���܂��B
0 : �n�j
��F
rc = ftp.CloseLog()
- Close
�ڑ���ؒf���܂��B
��F
ftp.Close
�T���v��
�����[�g�iMicrosoft FTP�T�[�o�j����t�@�C������M���܂��B
��Visual Basic
Private Sub Form_Load()
Dim ftp As Object, rc As Long, v As Variant, v2 As Variant
Dim ctr As Long
Set ftp = CreateObject("basp21.FTP")
ftp.OpenLog "c:\temp\log.txt"
rc = ftp.Connect("ftp.microsoft.com", "anonymous", "")
If rc = 0 Then
v = ftp.GetDir("bussys/winnt/winnt-public", 2) ' �f�B���N�g���ꗗ(�ڍ�)
If IsArray(v) Then
For Each v2 In v
Debug.Print v2
Next
End If
v = ftp.GetDir("bussys/winnt/winnt-public") ' �f�B���N�g���ꗗ(�t�@�C�����̂�)
If IsArray(v) Then
For Each v2 In v
Debug.Print v2
Next
End If
rc = ftp.GetFile("bussys/winnt/winnt-public/*", "c:\temp") '�t�@�C����M
End If
End
End Sub
��WSH
set bobj=createobject("basp21")
set ftp=createobject("basp21.FTP")
Set WshShell = Wscript.CreateObject("Wscript.Shell")
WshShell.Run ("notepad")
ftp.OpenLog "c:\temp\log.txt"
rc = ftp.Connect("ftp.microsoft.com", "anonymous", "")
If rc = 0 Then
' passive���[�h�ɂ���
ftp.Command("pasv") ' ��x�ďo���� OK
v = ftp.GetDir("bussys/winnt/winnt-public", 2) ' �f�B���N�g���ꗗ(�ڍ�)
bobj.Debug v
v = ftp.GetDir("bussys/winnt/winnt-public") ' �f�B���N�g���ꗗ(�t�@�C���̂�)
bobj.Debug v
rc = ftp.GetFile("bussys/winnt/winnt-public/*", "c:\temp") '�t�@�C����M
End If
FTP�v���g�R���ɂ���
FTP�v���g�R���̏ڍׂ́A���̃T�C�g��RFC 959/1123���{��ł��Q�l�ɂȂ�܂��B
�a�t�a�t�̃y�[�W
babaq�t���[�\�t�g�̂��g�p��̒���
���v���O�������g���Ĕ����������Q�Ɋւ��ẮA��̐ӔC���܂���B
���g�p�A�z�z�ɐ����͂���܂���B���R�ɂ��g�����������B
������̕ۏ͂���܂���B
��������m�F�����n�r�́AWindows NT 4.0 ��Windows 95/98�݂̂ł��B
Home
Copyright 1999 Tatsuo Baba,All rights reserved.