0
我們有Windows日誌一些的Apache Tomcat的Windows文件名 - 例如..批處理文件壓縮的Apache Tomcat對於不等於今天
server.log.2014-02-04-10
server.log.2014-02-04-11
server.log.2014-02-04-12
server.log.2014-02-05-13
server.log.2014-02-05-14
server.log.2014-02-05-15
這些都與文件擴展名的定義。 YYYY-MM-DD-HH,默認情況下,Apache有日期:.YYYY-MM-DD,但是,由於系統使用和其他原因,我們必須定義HH轉折。 我試圖做一些很簡單.. 如果今天不相等文件擴展名呢,存檔(ZIP)它..
這裏是我有什麼,也不管我做什麼,它顯示: 2014-02-05即使腳本顯示.2014-02-04。
這裏是腳本,我不知道如果我需要SETLOCAL enabledelayexpansion ..
rem http://www.dostips.com/DtTipsStringManipulation.php#Snippets.Replace
SETLOCAL enabledelayedexpansion
for /f "skip=1" %%x in ('wmic os get localdatetime') do if not defined MyDate set MyDate=%%x
set today=!MyDate:~0,4!-!MyDate:~4,2!-!MyDate:~6,2!
rem today=%MyDate:~0,8%
for %%i in (D:\11\*.*) do (
SET FILETIME=%%~xi
rem SET Dt=!FILETIME:~0,11!
rem IF NOT "!fldt!" == ".!today!" (
rem echo %%~ni%%~xi
rem)
)
pause
感謝
非常感謝您的協助。我做了一些改變,以使用findstr而不是find。現在,我只需要提取壓縮文件的日期(但是,這是一個不同的主題)。 :) – Leptonator
'findstr'使用正則表達式,並在上面的情況下可以匹配一些意想不到的東西。 'find'完全適合上述用途。要以相同的方式使用findstr,您必須添加/ L開關。 – foxidrive
我想通了我的問題..我運行腳本的文件夾有Cygwin工具的副本。我使用的發現是從Cygwin而不是本機Windows。衛生署!另外,我還有UnxUtils噴灑在那裏。 – Leptonator