日期:2014-05-17  浏览次数:20816 次

一段批处理程序,有个小问题,请大家帮忙找找问题在哪里
如题,
实现要求:先查询XXXX.OK的通知文件是否存在,如果存在就去取数据信息,如果不存在提示通知文件不存在,现在的问题是,OK文件缺失不存在,但是会在本地给我造一个空的OK文件出来,导致我去取数据文件了,请大家帮忙看看这段程序是哪里导致的这个问题,谢谢
批处理程序如下

@echo off
set ftpUser=datastore
set ftpPass=datastore
set ftpIP=128.1.100.79
set ftpFolder=
set DownFolder=d:\

rem 假设系统日期格式为yyyy-mm-dd
set Year=%date:~0,4%
set Month=%date:~5,2%
set Day=%date:~8,2%



echo "第一步:先获取通知文件"
set ftpFile1=%temp%\TempAcc.txt
>"%ftpFile1%" (
  echo.%ftpUser%
  echo.%ftpPass%
  echo cd "%ftpFolder%%Year%%Month%%Day%"
  echo bin
  echo get "dingting%Year%%Month%%Day%.OK"
  echo prompt
  echo bye
)
cd /d "%DownFolder%"
ftp -v -i -s:"%ftpFile1%" %ftpIP%


set ftpFile=%temp%\TempAcc1.txt
 >"%ftpFile%" (
  echo.%ftpUser%
  echo.%ftpPass%
  echo cd "%ftpFolder%%Year%%Month%%Day%"
  echo bin
  echo get "BOP2.txt"
  echo prompt
  echo bye
)

echo "日终日期:%Year%%Month%%Day%"
echo "第二步:判断通知文件是否存在,存在的情况下再去取数据文件"
if exist d:\dingting20130130.OK (
cd /d "%DownFolder%"
ftp -v -i -s:"%ftpFile%" %ftpIP%

) else echo 通知文件不存在!
pause
goto :eof


------最佳解决方案--------------------
判断的方法我是这么实现的.

datastore 
datastore 
bin
cd live
prompt
ls -t updatepatch.txt
bye
以上ftp脚本,是用来列表ftp上的文件.导出到txt文件
然后你就可以查看里面是否存在ok文件,以后就好解决了.
------其他解决方案--------------------
引用:
判断的方法我是这么实现的.

datastore 
datastore 
bin
cd live
prompt
ls -t updatepatch.txt
bye
以上ftp脚本,是用来列表ftp上的文件.导出到txt文件
然后你就可以查看里面是否存在ok文件,以后就好解决了.
+1
ps: -t这个参数是怎么被你发现的啊?
------其他解决方案--------------------
做分发时看帮助知道的.
------其他解决方案--------------------
引用:
做分发时看帮助知道的.
是hh ntcmds.chm这个帮助吗?
------其他解决方案--------------------
呵呵 在linux下获得的灵感,发觉可以用来排序文件.