如何实现批处理GET后取:*系统日期*.txt 的文件

来源:百度知道 编辑:UC知道 时间:2024/09/26 10:40:29
每日LINUX系统会生成1个文件为:每日_YYYYMMDD.txt 的文件,现需要再第2天凌晨5点后使用批处理自动FTP取到此文件,再copy到D:\YYYYMMDD(每日日期命名)的文件夹下面。

现有批处理脚本
@echo off&setlocal enabledelayedexpansion
set yyyy=%date:~4,4%
set mm=%date:~9,2%
set dd=%date:~12,2%
set /a od=!dd!-1
if !od!==0 call :dd0
if !mm!==0 call :mm0
set yyyymmdd=%yyyy%%mm%%od%
@echo 昨日日期:%yyyymmdd%
pause

:dd0
set /a mm=!mm!-1
for %%a in (1 3 5 7 8 10 12)do set %%add=31
set /a pddd=!yyyy!*10/4
set pd2d=!pddd:~-1,1!
set 2dd=28
if !pd2d!==0 set 2dd=29
for %%b in (4 6 9 11)do set %%bdd=30
set od=!%mm%dd!
goto :eof

:mm0
set /a yyyy=!yyyy!-1
set mm=12 && set od=31
goto :eof

以上脚本是可以取到昨天日期的,大家可以试试。
以下脚本是自动FTP
@echo open 127.0.0.1>ftpcmd
@echo user abc abc>>ftpcmd
@echo prompt>>ftpcmd
@echo lcd d:\03046530\%yyyymmdd%\>>ftpcmd
@echo cd hx_tmp&

哈哈,我N天前写的批处理给你收藏了。
http://zhidao.baidu.com/question/80911212.html
给你改错了,我帮你改下吧。内容可能你要自己修改下,因为在网上复制到你电脑里可能会在"set yyyy=%date:~0,4%" 的后面会出现空格的,所以你要自己删除空格才可以正常,是所有内容后的格空都要删除啊。
@echo off&setlocal enabledelayedexpansion
set yyyy=%date:~0,4%
set mm=%date:~5,2%
set dd=%date:~8,2%
set /a od=!dd!-1
if !od! lss 10 set od=0!od!
if !od!==0 call :dd0
if !mm!==0 call :mm0
set yyyymmdd=!yyyy!-!mm!-!od!
echo 昨天是:!yyyymmdd!
call :ftp
echo 下载完毕
call start "" "d:\03046530\!yyyymmdd!"
pause

:dd0
set /a mm=!mm!-1
for %%a in (1 3 5 7 8 10 12)do set %%add=31
set /a pddd=!yyyy!*10/4
set pd2d=!pddd:~-1,1!
set 2dd=28
if !pd2d!==0 set 2dd=29
for %%b in (4 6 9 11)do set %%bdd=30
set od=!%mm%dd!
goto :eof
:mm0
set /a yyyy=!yyyy!