判断当前目录下的最新文件,进行复制或者传输,比较常用在备份中,由于备份出来的文件名复杂,所以在想办法找到最新的一个文件中花费了不少时间,现在分享给大家
1.新建一个txt文件,重命名为trans.bat,再新建一个ftprun.log的日志文件,记录ftp传输日志
trans.bat
@echo off
set nowDate=%date:~0,4%%date:~5,2%%date:~8,2%
for /f %%a in ('dir %fromPath%ALMNEW2.0.DB2.NODE0000.CATN0000.%nowDate%*.001 /b/a-d/a-h/a-s/o-d/tc') do (xcopy "%fromPath%%%a" "%endPath%" /k /y /c)
3.填写ftp的IP,用户名,密码。准备传输文件
ftp.bat
echo %date% %time% >> %sPath%ftprun.log
echo open ip >%sPath%ftprun.log
echo username>>%sPath%ftprun.log
echo password>>%sPath%ftprun.log
echo cd / >>%sPath%ftprun.log
echo cd /almbak/alm-full/ >>%sPath%ftprun.log #传输至ftp服务器的路径
echo binary >>%sPath%ftprun.log
echo Prompt >>%sPath%ftprun.log
echo mput "E:\RemoteScript\trans\*" >>%sPath%ftprun.log #本地路径存放的是待传输的文件
echo bye >>%sPath%ftprun.log
ftp -s:%sPath%ftprun.log >>%sPath%ftprun.log
4.传输完成后删除中转文件夹得文件
del.bat
del /f /s /q /a E:\RemoteScript\trans\* >>%sPath%ftprun.log
ps:这三部分代码可以按顺序放在一个bat中执行