|
hi2580
初级用户
 
积分 30
发帖 11
注册 2007-10-22
状态 离线
|
『楼 主』:
请教,谁能帮忙写一个远程更改FTP口令的批处理。
要求:运行批处理,提示输入用户名,新密码,旧密码。更改成功
我自己尝试写了一下,写不出,参数不知道怎么传递。有点乱。
|
|
2008-8-25 09:32 |
|
|
hi2580
初级用户
 
积分 30
发帖 11
注册 2007-10-22
状态 离线
|
|
2008-8-25 11:16 |
|
|
HAT
版主
       
积分 9023
发帖 5017
注册 2007-5-31
状态 离线
|
『第
3 楼』:
@echo off
set /p UserName=用户名:
set /p NewPwd=新密码:
set /p OldPwd=旧密码:
set FtpFile=%temp%\TempAcc.txt
>"%FtpFile%" echo %UserName%
>>"%FtpFile%" echo %OldPwd%
>>"%FtpFile%" echo quote "site pswd %OldPwd% %NewPwd%"
start ftp -v -i -s:"%FtpFile%" IPADDRESS
echo 更改成功
pause
|

 |
|
2008-8-25 14:02 |
|
|
hi2580
初级用户
 
积分 30
发帖 11
注册 2007-10-22
状态 离线
|
『第
4 楼』:
有很大的启发,不过,似乎不能直接用,能帮忙更改一下更好。我自己也会努力试试。
|
|
2008-8-25 15:21 |
|
|
hi2580
初级用户
 
积分 30
发帖 11
注册 2007-10-22
状态 离线
|
『第
5 楼』:
@echo off
set /p UserName=用户名:
set /p OldPwd=旧密码:
set /p NewPwd=新密码:
set FtpFile=%temp%\TempAcc.txt
>"%FtpFile%" echo open 11.48.145.183 22
>>"%FtpFile%" echo %UserName%
>>"%FtpFile%" echo %OldPwd%
>>"%FtpFile%" echo quote site pswd %OldPwd% %NewPwd%
>>"%FtpFile%" echo quit
ftp -is:"%FtpFile%"
echo 更改成功,按任意键退出!
pause
|
|
2008-8-25 15:42 |
|
|
hi2580
初级用户
 
积分 30
发帖 11
注册 2007-10-22
状态 离线
|
『第
6 楼』:
自己已经搞定,已经能改口令。
但是,无论成功失败,都提示成功。不知道怎么获取错误值进行判断。希望高手指点。
|
|
2008-8-25 15:43 |
|
|
HAT
版主
       
积分 9023
发帖 5017
注册 2007-5-31
状态 离线
|
『第
7 楼』:
修改密码以后,用新的密码重新连接ftp,并自动下载一个文件。
如果文件下载成功,就说明密码修改成功了。
|

 |
|
2008-8-25 15:56 |
|
|
hi2580
初级用户
 
积分 30
发帖 11
注册 2007-10-22
状态 离线
|
『第
8 楼』:
这个方法太土了吧。我是希望加一个判断语句,
|
|
2008-8-25 15:58 |
|
|
HAT
版主
       
积分 9023
发帖 5017
注册 2007-5-31
状态 离线
|
『第
9 楼』:
你想在哪里判断?
ftp命令里面支持if吗?
如果你能找到洋气的方法,记得给大家分享哦:)
|

 |
|
2008-8-25 16:07 |
|
|
hi2580
初级用户
 
积分 30
发帖 11
注册 2007-10-22
状态 离线
|
『第
10 楼』:
ftp -is:"%FtpFile%">"%FtpLog%
findstr /r "230 Password changed okay" %FtpLog%
findstr 不知道返回什么值?
|
|
2008-8-25 17:31 |
|
|
HAT
版主
       
积分 9023
发帖 5017
注册 2007-5-31
状态 离线
|
『第
11 楼』:
修改密码出错的时候,能否把FtpLog的内容贴出来看看?
|

 |
|
2008-8-25 17:45 |
|
|
hi2580
初级用户
 
积分 30
发帖 11
注册 2007-10-22
状态 离线
|
『第
12 楼』:
出错有好多原因,
我就是判断成功,成功的log里有"230 Password changed okay"
|
|
2008-8-25 17:46 |
|
|
qwertl
中级用户
  
积分 461
发帖 243
注册 2007-10-14
状态 离线
|
『第
13 楼』:
set /p OldPwd=旧密码:
set /p NewPwd=新密码:
这两个要在执行批处理时以参数执行该怎样做?
如批处理为:ch.bat 旧密码为:1234 新密码为:abcd
则 执行: ch 1234 abcd
|
|
2008-8-25 17:56 |
|
|
HAT
版主
       
积分 9023
发帖 5017
注册 2007-5-31
状态 离线
|
『第
14 楼』:
Re 12楼
findstr /r "230 Password changed okay" %FtpLog%
if %errorlevel% equ 0 (
echo 更改成功
) else (
echo 更改失败
)
|

 |
|
2008-8-25 19:25 |
|
|
HAT
版主
       
积分 9023
发帖 5017
注册 2007-5-31
状态 离线
|
『第
15 楼』:
Re 13楼
set OldPwd=%1
set NewPwd=%2
|

 |
|
2008-8-25 19:27 |
|