我的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-ZIPC:\Program Files\7-Zip\7Z.EXE.
如果有人能帮助我在批处理脚本中编写所有这些内容,我将不胜感激,因为我是Windows脚本的新手。
答案 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"
)