psftp --- 批处理登陆sftp

liujiaqiid 2009-08-19 04:36:38
我在本机测试的服务器是用的openssh,客户端想用sftp。
其中openssh已配置(可直接登录--并不带密钥),我用sftp=====> open 服务器地址 =====>输入用户名===>输入密码可以登录
也可以通过sftp把文件虚拟上传,但由于要求是自动上传的所以我想用批处理,怎么写呀??

我测试用的bat文件:

@echo off

help

pause

psftp

help


我在bat中先调用了help正常,pause后也正常进入psftp命令行,但怎么向里面输入命令呢?????
...全文
1339 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
pistolero 2012-09-27
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 的回复:]
少了一个quit命令,要加上,否则psftp执行完成后无法自动退出。

open sftp.company.com
cd /upload_folder/
lcd c:\
put upload_file.zip
bye
quit
[/Quote]


这个是不用输入密码就能登录的吗 ,如果要输入密码该怎么写呢,如果直接写在里面是不行的啊 会把密码当命令运行的。
childs 2009-10-28
  • 打赏
  • 举报
回复
我登陆没有啊?
liujiaqiid 2009-08-19
  • 打赏
  • 举报
回复
结贴最快的一次....
liujiaqiid 2009-08-19
  • 打赏
  • 举报
回复
呵呵,河马大哥给了思路,偶先结贴啦,力顶河马大哥.....
bigriverhorse 2009-08-19
  • 打赏
  • 举报
回复
是的,启动bat也就启动了psftp程序,

不过这个bat不是必须的,你直接用调用psftp -b psftp_cmd.txt 也是可以的,
在当前路径下能找到pstfp.exe程序就可以,或者不是在当前路径,把psftp.exe路径加上PATH环境变量也可以。
liujiaqiid 2009-08-19
  • 打赏
  • 举报
回复
您是说在bat中写
@echo off
psftp -b psftp_cmd.txt

启动bat也就启动了psftp,并且运行了程序

对不??
bigriverhorse 2009-08-19
  • 打赏
  • 举报
回复
是的,psftp肯定要东西来启动才可以执行,

无论是“批处理调用”还是“写代码调用”,甚至是“开始”->“运行”,都是可以的。

比如说写个批处理文件,内容如下:
@echo off
psftp -b psftp_cmd.txt

然后让这个批处理文件定时执行(如:早上八点)或某个事件后触发(如:已经收集好上的数据了)。
liujiaqiid 2009-08-19
  • 打赏
  • 举报
回复
你加我吧,我先结贴.....

QQ:406229156
MSN:liujiaqiid@live.cn
liujiaqiid 2009-08-19
  • 打赏
  • 举报
回复
你这样是要手工启动psftp吧,真么 自动 往里面输入 psftp -b psftp_cmd.txt 命令
bigriverhorse 2009-08-19
  • 打赏
  • 举报
回复
少了一个quit命令,要加上,否则psftp执行完成后无法自动退出。

open sftp.company.com
cd /upload_folder/
lcd c:\
put upload_file.zip
bye
quit
bigriverhorse 2009-08-19
  • 打赏
  • 举报
回复
不是单独再写一个批处理,而是把你希望psftp执行的上传命令写在一起,放到一个文件中就可以了。

上传示例如下:

open sftp.company.com
cd /upload_folder/
lcd c:\
put upload_file.zip
bye

把这几个命令保存成psftp_cmd.txt文件后,
使用 psftp -b psftp_cmd.txt 一次性全部执行就可以了。
liujiaqiid 2009-08-19
  • 打赏
  • 举报
回复
河马大哥,小弟再加50分.....
liujiaqiid 2009-08-19
  • 打赏
  • 举报
回复
???您是指单独写一个BAT文件???

不好意思,我这方面懂得很有限....

加我QQ吧406229156
bigriverhorse 2009-08-19
  • 打赏
  • 举报
回复
把你需要执行的命令写到一个命令文件中,然后在psftp中使用 -b <命令文件> 一次执行就可以了。

PuTTY Secure File Transfer (SFTP) client
Release 0.60
Usage: psftp [options] [user@]host
Options:
-V print version information and exit
-pgpfp print PGP key fingerprints and exit
-b file use specified batchfile
-bc output batchfile commands
-be don't stop batchfile processing if errors

3,424

社区成员

发帖
与我相关
我的任务
社区描述
其他开发语言 其他开发语言
社区管理员
  • 其他开发语言社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧