1. Tạo và xử lý file có dạng Tenfile_YYYY-MM-DD (lấy ngày hiện hữu)
Tạo 1 file batch (*.bat) có nội dung sau:
cd d:
copy nul tenfile.txt
set today_yyyy-mm-dd=%date:~10,4%-%date:~4,2%-%date:~7,2%
copy tenfile.txt tenfile_%today_yyyy-mm-dd%.txt
copy tenfile_%today_yyyy-mm-dd%.txt tenfile.xyz
pause
Ghi chú:
set today_yyyy-mm-dd, mục đích lấy ngày hiện hữu, có các tham số sau:
Year (YYYY) | %date:~10,4% or %date:~12,2% (2 digits: YY) |
---|---|
Month (MM) | %date:~4,2% |
Day (DD) | %date:~7,2% |
Hour (HH) | %time:~0,2% |
Minute (MM) | %time:~3,2% |
Second (SS) | %time:~6,2% |
Milisecond | %time:~9,2% |
2. Tạo và xử lý file có dạng Tenfile_YYYY-MM-DD (lấy ngày bất kỳ)
day = today + n (n: âm hoặc dương)
Tạo 1 file batch (*.bat) có nội dung sau:
:: Date foward & backward
@echo off
:: from code by Phil Robyn
setlocal
if [%1]==[] (
echo to get todays date use
echo call "%~n0" today 0
echo.
echo to get yesterdays date use
echo call "%~n0" today -1
echo.
echo to get the date 25 days ago:
echo call "%~n0" today -25
echo.
echo to get the date 1250 days in the future
echo call "%~n0" today +1250
goto :EOF)
set date1=%1
set qty=%2
if /i "%date1%" EQU "TODAY" (
set date1=now
) else (
set date1="%date1%"
)
echo >"%temp%\%~n0.vbs" s=DateAdd("d",%qty%,%date1%)
echo>>"%temp%\%~n0.vbs" WScript.Echo year(s)^&_
echo>>"%temp%\%~n0.vbs" right(100+month(s),2)^&_
echo>>"%temp%\%~n0.vbs" right(100+day(s),2)
for /f %%a in (
'cscript //nologo "%temp%\%~n0.vbs"') do set result=%%a
del "%temp%\%~n0.vbs"
endlocal& set day=%result:~0,4%-%result:~4,2%-%result:~6,2%
echo %%day%% is set to "%day%" (without the quotes)
cd d:
copy nul tenfile.txt
copy tenfile.txt tenfile_%day%.txt
pause
Ví dụ tạo 1 file có tên dayfile.bat
Từ Windows Run, gõ lệnh cmd
Gõ lệnh dayfile.bat today -2
Let's try!
No comments:
Post a Comment