找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
楼主: hbxlt

[其他] [已解决]求助:批处理sftp下载文件到本地指定目录

[复制链接]
发表于 2018-6-4 15:37:17 | 显示全部楼层
回复 15# hbxlt

再试试这样:

echo 欢迎使用ftp 自动下载工具
for /f %%i in ('realdate.com /d') do (set remotelogname=%%i)
echo cd hb/kpi/qg > qg.txt
echo mget  *%remotelogname%*  >> qg.txt
echo bye >> qg.txt
echo --------------------------------------- >>qg.log
for /f %%i in ('realdate.com /f="CCYY-MM-DD"') do (set locallogdate=%%i)
for /f %%i in ('realdate.com /f="hh:mm:ss"') do (set locallogtime=%%i)
echo %locallogdate% %locallogtime% >> qg.log
pushd "D:\data\sftp\ee"
psftp 202.101.248.29 -l root -pw root111 < %~dp0qg.txt
popd
echo. >> qg.log
echo done. >> qg.log
 楼主| 发表于 2018-6-4 16:44:08 | 显示全部楼层
本帖最后由 hbxlt 于 2018-6-4 16:46 编辑

Microsoft Windows [???? 6.1.7601]
???????? (c) 2009 Microsoft Corporation????????????????

C:\Users\niu>d:

D:\>cd data\sftp

D:\data\sftp>test11.bat

D:\data\sftp>echo ????????ftp ????????????
????????ftp ????????????

D:\data\sftp>for /F %i in ('realdate.com /d') do (set remotelogname=%i )

D:\data\sftp>(set remotelogname=20180604 )

D:\data\sftp>echo cd hb/kpi/qg  1>qg.txt

D:\data\sftp>echo mget  *20180604*   1>>qg.txt

D:\data\sftp>echo bye  1>>qg.txt

D:\data\sftp>echo ---------------------------------------  1>>qg.log

D:\data\sftp>for /F %i in ('realdate.com /f "CCYY-MM-DD"') do (set locallogdate=
%i )

D:\data\sftp>(set locallogdate=2018-06-04 )

D:\data\sftp>for /F %i in ('realdate.com /f "hh:mm:ss"') do (set locallogtime=%i
)
D:\data\sftp>(set locallogtime=16:40:48 )
D:\data\sftp>echo 2018-06-04 16:40:48  1>>qg.log
D:\data\sftp>pushd "D:\data\sftp\ee"
D:\data\sftp\ee>psftp 202.101.248.29 -l root -pw root111  0<D:\data\sftp\qg.txt
'psftp' 不是内部或外部命令,也不是可运行的程序
或批处理文件。

D:\data\sftp\ee>popd

D:\data\sftp>echo.  1>>qg.log

D:\data\sftp>echo done.  1>>qg.log

如果我将putty文件拷贝到D:\data\sftp\ee,就能正常执行。如果不拷贝的话,有没有办法执行?
发表于 2018-6-4 16:53:52 | 显示全部楼层
回复 17# hbxlt


echo 欢迎使用ftp 自动下载工具
for /f %%i in ('realdate.com /d') do (set remotelogname=%%i)
echo cd hb/kpi/qg > qg.txt
echo mget  *%remotelogname%*  >> qg.txt
echo bye >> qg.txt
echo --------------------------------------- >>qg.log
for /f %%i in ('realdate.com /f="CCYY-MM-DD"') do (set locallogdate=%%i)
for /f %%i in ('realdate.com /f="hh:mm:ss"') do (set locallogtime=%%i)
echo %locallogdate% %locallogtime% >> qg.log
pushd "D:\data\sftp\ee"
%~dp0psftp 202.101.248.29 -l root -pw root111 < %~dp0qg.txt
popd
echo. >> qg.log
echo done. >> qg.log
 楼主| 发表于 2018-6-4 17:18:00 | 显示全部楼层
回复 18# Batcher

谢谢老师,已正常实现功能。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-18 13:24 , Processed in 0.021166 second(s), 7 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表