移动重命名和zip文件

时间:2014-02-11 15:06:40

标签: windows batch-file

我的oracle服务器位于windows 2008 64 bit。我需要将listner.log文件移到

 E:\DBA_CMDS\Maintenance_Tasks\ClearListenerLog\ArchivedListenerLogs

来自

E:\OracleGrid\11.2.0\grid\log\diag\tnslsnr\enctcorl010\listener\alert\

我需要将该文件重命名为currentdate.log,我的日志目录和日志名称为

E:\DBA_CMDS\Maintenance_Tasks\ClearListenerLog\ClearListenerLog.log

我需要在重命名文件后压缩文件,并在

中安装我的7-ZIP
C:\Program Files\7-Zip\7Z.EXE. 

如果有人能帮助我在批处理脚本中编写所有这些内容,我将不胜感激,因为我是Windows脚本的新手。

1 个答案:

答案 0 :(得分:1)

测试一下:

@echo off
set "source=E:\OracleGrid\11.2.0\grid\log\diag\tnslsnr\enctcorl010\listener\alert"
set "target=E:\DBA_CMDS\Maintenance_Tasks\ClearListenerLog\ArchivedListenerLogs"

for /f "tokens=2 delims==" %%a in ('wmic OS Get localdatetime /value') do set "dt=%%a"
set "YY=%dt:~2,2%" & set "YYYY=%dt:~0,4%" & set "MM=%dt:~4,2%" & set "DD=%dt:~6,2%"
set "HH=%dt:~8,2%" & set "Min=%dt:~10,2%" & set "Sec=%dt:~12,2%"
set "datestamp=%DD%%MM%%YY%" & set "timestamp=%HH%%Min%%Sec%"


setlocal enabledelayedexpansion
set c=0
for %%a in ("%source%\*.log") do (
set /a c+=1
"C:\Program Files\7-Zip\7Z.EXE" a "%target%\listener_%datestamp%_!c!.7z" "%%a"
if not errorlevel 1 del "%%a"
)