簡體   English   中英

批處理腳本-(停止服務,將日志文件移動到其他目錄,移動后附加日期)

[英]Batch Script - (Stop services, move log files to other directory, append date once move)

我是批處理腳本的新手。 將文件移到其他目錄后,如何在文件名上添加當前日期? 您能在下面檢查我的代碼嗎? 謝謝!

它是這樣工作的:

-我需要將一些文件復制到其他目錄中,以終止正在運行的(dsst)進程。-一旦dsst不運行,則應停止GESWCPAServer並刪除c:temp中的復制文件。-接下來,將日志文件從C:\\ LOGFILES復制到C:\\ LOGFILES \\ Archive。 -復制文件后。 現在它將啟動服務。

謝謝!

-------------------------------------------------------------------
@ECHO off 
copy D:\fp_swenv\cg_fp\config\*.magik c:\temp

sc stop GESWCPAServer

:loop
echo checking for task list
tasklist /NH /FI "IMAGENAME eq dsst_writer_acp.exe" | find /I "dsst_writer_acp.exe"
rem tasklist /NH /FI "IMAGENAME eq textpad.exe" | find /I "textpad.exe"
if %ERRORLEVEL% == 0 goto sleeploop
goto finish_up

:sleeploop
echo Sleeping 10secs
sleep 10
goto loop

:finish_up
del c:\temp\*.magik
sc stop GESWDisptcher51
sc stop GESWCPAClient

sleep 10

set logpath1="C:\LOGFILES"
set arcpath1="C:\LOGFILES\Archive"

c:
cd %logpath1%
FORFILES /D -1 /M *.log /C "cmd /c move @path %arcpath1%"
cd /D %arcpath1%

sc start GESWCPAServer

sleep 10

echo checking for task list
tasklist /NH /FI "IMAGENAME eq dsst_writer_acp.exe" | find /I "dsst_writer_acp.exe"
rem tasklist /NH /FI "IMAGENAME eq textpad.exe" | find /I "textpad.exe"
if %ERRORLEVEL% == 1 goto sleeploop

sc start GESWDisptcher51
sc start GESWCPAClient

@ECHO ON
---------------------------------------------------------------------------

請檢查是否可行-

將以下代碼替換為我的代碼。

set logpath1="C:\LOGFILES"
set arcpath1="C:\LOGFILES\Archive"

c:
cd %logpath1%
FORFILES /D -1 /M *.log /C "cmd /c move @path %arcpath1%"

我的代碼-

編輯-根據評論中OP的要求添加了zip選項。

@echo OFF

set logpath1=c:\Logfiles
set arcpath1=c:\Logfiles\archive

cd /d %logpath1%

for /f %%x in ('wmic os get localdatetime ^| findstr /b [0-9]') do set TS=%%x

set yyyy=%TS:~0,4%
set mm=%TS:~4,2%
set dd=%TS:~6,2%
set hh=%TS:~8,2%
set min=%TS:~10,2%
set timestamp=%dd%-%mm%-%yyyy%_%hh%-%min%

for /f %%i in ('dir /b *.log') do call :moveandrename "%%i"
goto :jump

:moveandrename

set filename=%~n1
set fileextn=%~x1

move /y %filename%%fileextn% %arcpath1%\%filename%-%timestamp%%fileextn% >nul 2>&1
goto :eof


:jump

cd %arcpath1%
C:\Program Files\WinZip\wzzip.exe -a Archive_%timestamp%.zip *.log
if not %errorlevel% EQU 0 echo.Zip operation failed on %timestamp% >>zipresult.txt & goto :eof
del *.log


:eof

干杯,G

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM