标题: U盘下FTP自动下载批处理程序无法读取FTP登录文件信息
[打印本页]
作者: oasislee
时间: 2009-6-1 23:36
标题: U盘下FTP自动下载批处理程序无法读取FTP登录文件信息
各位高手你们好,最近公司有个需求就是用户直接插入U盘到电脑后,运行U盘上批处理文件就可以直接将FTP文件下载到 本地U盘,从而实现文件自动下载。我的在网上找到的方法是写2个文件,一个是批处理主文件 getfile.bat 运行,另一个是FTP登录文件 getfile.ftp。此方法我本人在本地硬盘已经实现了,但是我的目标是所有的读写运行下载文件操作都在U盘上完成。我现在碰到的问题是,在批处理文件运行到读取登录FTP时读不出U盘上的getfile.ftp文件,说无法读取文件。可是DOS执行窗口显示出的文件路径都是正确的,因此我百思不得其解。请高手指点,以下为源代码及执行窗口截图。
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
@echo off
for /f "tokens=2 delims==" %%a in ('wmic LogicalDisk where "DriveType='2'" get DeviceID /value') do (
set DriveU=%%a
)
echo.%DriveU%
set f=%DriveU%
set BASE=%f%
set BASE_PATH= %BASE%\video
set LOG_FILE= %BASE_PATH%\ftpgetfile.log
set FLAG_FILE=%BASE_PATH%\tmp.tmp ##因要和另外一个程序通讯,所以用了这个状态标志文件,程序开始时写0进去,结束时再修改为1。这样另一个程序就可以判断何时文件接收结束,并开始处理文件。
set SAVE_PATH=%BASE_PATH%
set TMP_PATH= %BASE_PATH%\temp
set REMOTE_PATH=/wwwroot
REM 程序开始运行
echo =========================================================== >> %LOG_FILE%
set DATET=%date%%time%
echo 程序开始运行,时间:%DATET% >> %LOG_FILE%
if not exist %BASE_PATH% (
mkdir %BASE_PATH%
)
echo %BASE_PATH%
echo 测试!
pause>nul
if not exist %SAVE_PATH% (
mkdir %SAVE_PATH%
)
echo %SAVE_PATH%
echo 测试!
pause>nul
if not exist %TMP_PATH% (
mkdir %TMP_PATH%
)
echo %TMP_PATH%
echo 测试!
pause>nul
cd %TMP_PATH%
echo 0 > %FLAG_FILE%
if not exist %SAVE_PATH% (
echo 无法找到标志文件%SAVE_PATH% >> %LOG_FILE%
goto _END
)
ftp -s:"%BASE_PATH%\getfile.ftp" >> %LOG_FILE%
echo %BASE_PATH%\getfile.ftp
echo 本次获得的文件如下:>> %LOG_FILE%
dir /B %TMP_PATH%\S*.swf > %TMP_PATH%\filelist.tmp ##本次接收的文件列表,供movefile.bat删除文件的标识
dir /B %TMP_PATH%\*.swf >> %LOG_FILE%
move /Y %TMP_PATH%\*.swf %SAVE_PATH%\
FOR /F "usebackq delims=" %%i IN (`type filelist.tmp`) DO call %BASE_PATH%\movefile.bat %%i %LOG_FILE% %REMOTE_PATH%
:_END
echo 1 > %FLAG_FILE%
del %TMP_PATH%\filelist.tmp
set DATET=%date%%time%
echo 程序运行结束,时间:%DATET% >> %LOG_FILE%
echo =========================================================== >> %LOG_FILE%
echo 文件更新已经完成 请您按下任意键或者 选择Ctrl+c 组合键退出!
pause>nul
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
[
Last edited by oasislee on 2009-6-1 at 23:49 ]
作者: oasislee
时间: 2009-6-2 00:20
我顺便把我的getfile.ftp文件给拿出来大家看看
open 192.168.1.120
user sy
syit601
prompt on
cd /wwwroot
mget *.swf
bye
quit
exit
[
Last edited by oasislee on 2009-6-2 at 03:13 ]