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

[文件操作] [已解决]批处理如何获取FTP上面下载1天前的文件?

[复制链接]
发表于 2009-4-3 14:25:18 | 显示全部楼层

回复 15楼 的帖子

好,你把10楼的结果以文本的形式贴出来,我帮你写代码。
可以用这个ftp命令:
dir * a.txt
 楼主| 发表于 2009-4-3 14:29:29 | 显示全部楼层
原帖由 Batcher 于 2009-4-3 14:25 发表
好,你把10的结果以文本的形式贴出来,我帮你写代码。
可以用这个ftp命令:
dir * a.txt

10的结果?
发表于 2009-4-3 14:31:07 | 显示全部楼层

回复 17楼 的帖子

10楼
 楼主| 发表于 2009-4-3 14:34:34 | 显示全部楼层
哦,我用上面的命令。我的txt文本会生成在什么地方?本机目录还是ftp?
发表于 2009-4-3 14:36:33 | 显示全部楼层

回复 19楼 的帖子

是生成在本机的命令行解释器当前目录下
我得去看电影了
你先把结果贴出来
如果没有其他人帮你写
我待会回来写
 楼主| 发表于 2009-4-3 14:50:22 | 显示全部楼层
我看了下,应该如batcher之前说的一样,当大于6个月时,时间以年份显示。
生成的txt文件内容:

-rw-rw-r--   1 mfg      100            0 Jul 26  2008 26jul08.asc
-rw-rw-r--   1 mfg      100         6908 Apr  2 02:02 F123456T8E.FT2
-rw-rw-r--   1 nanya    1000        2112 Apr  2 23:24 F123456T8E.FT3
-rw-rw-r--   1 mfg      100       145530 Apr  2 02:02 F123456T8E.SWM
-rw-rw-r--   1 nanya    1000       59425 Apr  2 23:24 F123456T8E.TWM
-rw-rw-r--   1 mfg      100        41272 Mar 31 02:09 F123456T9E.FT2
-rw-rw-r--   1 mfg      100        23144 Mar 31 03:54 F123456T9E.FT3
-rw-rw-r--   1 mfg      100       603284 Mar 31 02:09 F123456T9E.SWM
-rw-rw-r--   1 mfg      100       534780 Mar 31 03:54 F123456T9E.TWM
-rw-rw-r--   1 mfg      100       134024 Apr  1 17:30 F333333T0G.FT2
-rw-rw-r--   1 mfg      100       131296 Apr  1 19:26 F333333T0G.FT3
-rw-rw-r--   1 1000     staff       6204 Apr  2 02:10 F333333T0G.FT4
-rw-rw-r--   1 1000     staff    2096229 Apr  2 02:10 F333333T0G.OWM
-rw-rw-r--   1 mfg      100      1782556 Apr  1 17:30 F333333T0G.SWM
-rw-rw-r--   1 mfg      100      1319279 Apr  1 19:26 F333333T0G.TWM
-rw-rw-r--   1 mfg      100        41228 Jan 16 07:46 F833748T6D.FT2
-rw-rw-r--   1 nanya    staff      39116 Jan 17 16:36 F833748T6D.FT3
-rw-rw-r--   1 mfg      100       582244 Jan 16 07:46 F833748T6D.XWM
-rw-rw-r--   1 mfg      100        74536 Jan 14 16:00 F834233T5C.FT2
-rw-rw-r--   1 1000     staff      71720 Jan 22 17:06 F834233T5C.FT3
-rw-rw-r--   1 mfg      100       942672 Jan 14 16:01 F834233T5C.XWM
-rw-rw-r--   1 mfg      100         8800 Jan 16 11:49 F834304T3E.FT2
-rw-rw-r--   1 nanya    staff       8712 Jan 17 17:15 F834304T3E.FT3
-rw-rw-r--   1 mfg      100       124176 Jan 16 11:49 F834304T3E.XWM
-rw-rw-r--   1 mfg      100        29524 Jan 16 09:35 F834447T1C.FT2
-rw-rw-r--   1 1000     other      27368 Feb 12 14:05 F834447T1C.FT3
-rw-rw-r--   1 mfg      100       448253 Jan 16 09:35 F834447T1C.XWM
-rw-rw-r--   1 asx      asx       827156 Dec 15 18:12 F835117T4D.FT3
-rw-rw-r--   1 mfg      100       437448 Dec 25 22:04 F835147T9D.FT2
-rw-rw-r--   1 1000     other     829664 Jan 17 11:32 F835147T9D.FT3
-rw-rw-r--   1 mfg      100      6140060 Dec 25 22:04 F835147T9D.XIM
-rw-rw-r--   1 mfg      100        10208 Jan 14 15:33 F835281T4E.FT2
-rw-rw-r--   1 nanya    1000        9900 Jan 16 15:17 F835281T4E.FT3
-rw-rw-r--   1 mfg      100       161754 Jan 14 15:33 F835281T4E.XWM
-rw-rw-rw-   1 mfg      100      1463662 Feb  6 19:41 F836176T0E.FT2
-rw-rw-rw-   1 mfg      100      1453804 Feb  7 01:27 F836176T0E.FT3
-rw-rw-r--   1 1000     other    1449932 Feb  7 07:34 F836176T0E.FT4
-rw-rw-rw-   1 mfg      100      15129812 Feb  6 19:41 F836176T0E.SWM
-rw-rw-rw-   1 mfg      100      14572006 Feb  7 01:28 F836176T0E.TWM
........

我需要获取*.SWM,*.TWM,*.XWM的文件时间。谢谢!~
发表于 2009-4-3 16:29:55 | 显示全部楼层

回复 21楼 的帖子

  1. @echo off
  2. for /f "tokens=1-9 delims= " %%a in (a.txt) do (
  3.   if /i "%%~xi" equ ".SWM" (
  4.     echo %%i %%f %%g %%h
  5.   ) else if /i "%%~xi" equ ".TWM" (
  6.     echo %%i %%f %%g %%h
  7.   ) else if /i "%%~xi" equ ".XWM" (
  8.     echo %%i %%f %%g %%h
  9.   )
  10. )
  11. pause
复制代码
 楼主| 发表于 2009-4-6 18:48:10 | 显示全部楼层
batcher,如果我要dir 这个txt文件信息怎么写呢? 像上面这个在指定ftp目录下的dir *a.txt。
发表于 2009-4-6 18:59:46 | 显示全部楼层

回复 23楼 的帖子

  1. @echo off
  2. rem 指定FTP用户名
  3. set ftpUser=BatHome
  4. rem 指定FTP密码
  5. set ftpPass=Batcher
  6. rem 指定FTP服务器地址
  7. set ftpIP=192.168.0.2

  8. set ftpFile=%temp%\TempAcc.txt
  9. >"%ftpFile%" echo %ftpUser%
  10. >>"%ftpFile%" echo %ftpPass%
  11. >>"%ftpFile%" echo bin
  12. >>"%ftpFile%" echo dir * a.txt
  13. >>"%ftpFile%" echo bye
  14. start ftp -v -i -s:"%ftpFile%" %ftpIP%
复制代码
 楼主| 发表于 2009-4-6 20:35:43 | 显示全部楼层
那我再问一个问题,batcher。如果我要把那个读txt的for循环(第22楼)我应该加在这里?
  1. @echo off
  2. rem 指定FTP用户名
  3. set ftpUser=USERNAME
  4. rem 指定FTP密码
  5. set ftpPass=PASSWORD
  6. rem 指定FTP服务器地址
  7. set ftpIP=192.168.0.2
  8. rem 指定待下载的文件位于FTP服务器的什么位置
  9. set ftpFolder=SharedFile\
  10. rem 指定从FTP下载下来的文件存放到什么地方
  11. set DownFolder=C:\temp\
  12. set ftpFile=%temp%\TempAcc.txt

  13. for /f "tokens=1-9 delims= " %%a in (a.txt) do (
  14.   if /i "%%~xi" equ ".SWM" (
  15.     echo %%i %%f %%g %%h
  16.   ) else if /i "%%~xi" equ ".TWM" (
  17.     echo %%i %%f %%g %%h
  18.   ) else if /i "%%~xi" equ ".XWM" (
  19.     echo %%i %%f %%g %%h
  20.   )
  21. )

  22. >"%ftpFile%" echo %ftpUser%
  23. >>"%ftpFile%" echo %ftpPass%
  24. >>"%ftpFile%" echo cd "%ftpFolder%"
  25. >>"%ftpFile%" echo lcd "%DownFolder%"
  26. >>"%ftpFile%" echo bin
  27. >>"%ftpFile%" echo dir * a.txt
  28. >>"%ftpFile%" echo bye
  29. start ftp -v -i -s:"%ftpFile%" %ftpIP%
  30. pause
复制代码



或者再添加一个调用?
发表于 2009-4-6 21:28:19 | 显示全部楼层

回复 25楼 的帖子

  1. @echo off
  2. rem 指定FTP用户名
  3. set ftpUser=USERNAME
  4. rem 指定FTP密码
  5. set ftpPass=PASSWORD
  6. rem 指定FTP服务器地址
  7. set ftpIP=192.168.0.2
  8. set ftpFile=%temp%\TempAcc.txt

  9. >"%ftpFile%" echo.%ftpUser%
  10. >>"%ftpFile%" echo.%ftpPass%
  11. >>"%ftpFile%" echo bin
  12. >>"%ftpFile%" echo dir * C:\BatHome.txt
  13. >>"%ftpFile%" echo bye
  14. start ftp -v -i -s:"%ftpFile%" %ftpIP%

  15. rem 根据实际情况自行调节延迟时间
  16. ping -n 10 127.1 >nul

  17. for /f "tokens=1-9 delims= " %%a in (C:\BatHome.txt) do (
  18.   if /i "%%~xi" equ ".SWM" (
  19.     echo.%%i %%f %%g %%h
  20.   ) else if /i "%%~xi" equ ".TWM" (
  21.     echo.%%i %%f %%g %%h
  22.   ) else if /i "%%~xi" equ ".XWM" (
  23.     echo.%%i %%f %%g %%h
  24.   )
  25. )
  26. pause
复制代码
 楼主| 发表于 2009-4-6 22:35:01 | 显示全部楼层
非常感谢batcher的耐心指导!~
以上我获得了这些文件的时间信息,如果我要下载包含这些时间信息的文件,应该怎么获得?

[ 本帖最后由 lazygc520 于 2009-4-7 10:42 编辑 ]
发表于 2009-4-7 10:51:59 | 显示全部楼层

回复 27楼 的帖子

如果不对文件日期信息进行任何比较操作,那还绕个圈干吗?直接mget就行。
  1. mget *.SWM
  2. mget *.TWM
  3. mget *.XWM
复制代码
 楼主| 发表于 2009-4-7 10:55:59 | 显示全部楼层
可能我没有表达清楚,我需要取这些文件的时间信息-1天的文件。
 楼主| 发表于 2009-4-7 15:08:22 | 显示全部楼层
如果我获得了文件的时间信息,我想取这些 时间 -1 天的文件应该怎么操作?应该是指定目录下的。
set ftpFolder=\export\home\PROD\ntcdata\ ,取得*.SWM等文件,按SWM文件的时间信息取得该文件。

[ 本帖最后由 lazygc520 于 2009-4-7 16:10 编辑 ]
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-17 14:25 , Processed in 0.017323 second(s), 7 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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