Batch file 使用PuTTY将密码和命令馈送到远程ftp命令
我想自动化将文件从Windows FTP位置复制到Windows 7计算机上的Unix设备的过程 我已经设法搜索了网络,并成功地使用SSH和PuTTY连接到Unix设备 PuTTY的输入文件包含命令,但它在密码处停止,我找不到克服这个问题的方法 为此,我创建了一个批处理文件,这样我就可以在我的Windows 7计算机上安排一个Windows作业,开始每天将文件从Windows FTP服务器(其他Windows计算机不是我的)复制到Unix设备 批处理文件:Batch file 使用PuTTY将密码和命令馈送到远程ftp命令,batch-file,ssh,ftp,putty,Batch File,Ssh,Ftp,Putty,我想自动化将文件从Windows FTP位置复制到Windows 7计算机上的Unix设备的过程 我已经设法搜索了网络,并成功地使用SSH和PuTTY连接到Unix设备 PuTTY的输入文件包含命令,但它在密码处停止,我找不到克服这个问题的方法 为此,我创建了一个批处理文件,这样我就可以在我的Windows 7计算机上安排一个Windows作业,开始每天将文件从Windows FTP服务器(其他Windows计算机不是我的)复制到Unix设备 批处理文件: putty -ssh lxdsdsp0
putty -ssh lxdsdsp0 -l "user_1" -pw "mypass" -m "D:\cmd.txt" -t
我的cmd.txt
cd /x06/scratch-data/
ftp domain\user_1@winapp67.sr.dv.com
mypass
/bin/bash
当我执行批处理文件时,它通过SSH登录到Unix框并键入命令,但当我将密码作为PuTTYcmd.txt
文件中的输入文件时,它就会停止
请帮忙
Using username "user_1".
Welcome to SuSE Linux Enterprise Server 9 (x86_64)
Connected to domain\user_1@winapp67.sr.dv.com.
220 Microsoft FTP Service
331 Password required for domain\user_1.
Password:
530 User domain\user_1 cannot log in.
ftp: Login failed.
ftp>
cmd.txt
的内容由远程shell逐行执行。这些内容不会被使用,就好像你在键盘上键入了这些命令一样
plink.exe -ssh lxdsdsp0 -l "user_1" -pw "mypass" -t < D:\cmd.txt
因此,shell执行ftp
并等待它退出,然后再进入mypass
行(最终尝试执行它,但失败,因为它不是可识别的shell命令)
你能做的,是用油灰代替。PuTTY套装中用于自动化的工具中的底座(PuTTY不是)。它是一个控制台应用程序。因此,您可以从cmd.txt
重定向其输入。然后将使用这些内容,就像您在键盘上键入这些命令一样
plink.exe -ssh lxdsdsp0 -l "user_1" -pw "mypass" -t < D:\cmd.txt
plink.exe-ssh lxdsp0-l“user_1”-pw“mypass”-t
另请参见为什么不将文件直接从windows服务器复制到unix计算机的过程自动化?为什么你需要使用第三台计算机来实现在另外两台机器之间做事情的自动化?