【发布时间】:2014-02-12 19:23:09
【问题描述】:
我正在运行一个批处理文件,该文件获取目录下所有文件和子文件夹的列表。然后我将从该列表中过滤掉今天和昨天创建的一些特定文件。我在查找昨天创建的文件时遇到了一些困难,我想%date% - 1 可能会起作用,但事实并非如此。谁可以帮我这个事 ?谢谢
REM SETUP CREATE TIME
for /F "usebackq tokens=1,2 delims==" %%i in (`wmic os get LocalDateTime /VALUE 2^>NUL`) do if '.%%i.'=='.LocalDateTime.' set ldt=%%j
set ldt=%ldt:~0,4%-%ldt:~4,2%-%ldt:~6,2% %ldt:~8,2%:%ldt:~10,2%:%ldt:~12,6%
REM LIST OF FILES AND FOLDERS
dir /s "K:\AppData\Released_To_Production" > "C:\K_RLTP_FILES.txt"
dir /a:d /t:w /s "K:\AppData\Released_To_Production" > "C:\K_RLTP_Folders.txt"
REM TODAY'S CATIA FILES
echo List is Created @ [%ldt%] > "C:\catia_result.txt"
echo -------------------------------------------- >> "C:\catia_result.txt"
echo -------------------------------------------- >> "C:\catia_result.txt"
find ".model" "C:\K_RLTP_FILES.txt" | find "%date%" >> "C:\catia_result.txt"
find ".CATPart" "C:\K_RLTP_FILES.txt" | find "%date%" >> "C:\catia_result.txt"
【问题讨论】:
-
看看
forfiles /? -
我正在尝试过滤txt中带有昨天日期的行,我认为这里不能使用forfiles.....
-
好吧 - 不直接。但考虑一些角落会有所帮助。看我的回答。
标签: windows batch-file cmd batch-processing