도스명령어로 특정 날짜의 파일을 지울 수 있는 배치파일 작성이 가능할까요?
사진과 같이 매일 생성되는 특정날짜에 해당하는 바이너리 파일을 한달에 1번 삭제하고 싶습니다.
예를 들어 저 수많은 바이너리 파일중에서 특정 월을 지정해서 그 특정 월에 해당하는 바이너리 파일을 지우고 싶습니다. 단 폴더는 삭제되면 안됩니다.
참고로 저 바이너리 파일은 홈페이지 게시판에 게시글에 첨부된 zip압축파일입니다.
첨부된 압축파일 용량이 상당해서 스케쥴러에 등록해서 사용하면 좋겠다는 생각에 질문 올려봅니다.
감사합니다.
±Ùµ¥ ±×³É ÇÁ·Î±×·¥ ¾²´Â°Ô ÆíÇÏÁö ¾Ê³ª¿ä?
@echo off
setlocal
rem ÇöÀç ³¯Â¥¸¦ °¡Á®¿È
for /f "tokens=2 delims==" %%i in ('wmic os get localdatetime /value ^| find "="') do set currentDate=%%i
set year=%currentDate:~0,4%
set month=%currentDate:~4,2%
rem »èÁ¦ÇÒ ÆÄÀÏÀÌ À§Ä¡ÇÑ ÃÖ»óÀ§ µð·ºÅ丮 ¼³Á¤
set targetDir=D:\APM_Setup\htdocs\pasteldown\files\attach\binaries
rem ÇØ´ç ¿ùÀÇ ÆÄÀÏ »èÁ¦
pushd %targetDir%
for /r %%F in (*) do (
rem ÆÄÀÏÀÇ »ý¼º ³¯Â¥¸¦ °¡Á®¿È
for %%G in (%%F) do (
set fileDate=%%~tG
)
rem ÆÄÀÏÀÇ ¿¬µµ¿Í ¿ùÀ» ÃßÃâ
set fileYear=%fileDate:~0,4%
set fileMonth=%fileDate:~5,2%
rem ¸¸¾à ÆÄÀÏÀÇ ¿¬µµ¿Í ¿ùÀÌ ÇöÀçÀÇ ¿¬µµ¿Í ¿ù°ú °°´Ù¸é »èÁ¦
if "%fileYear%"=="%year%" if "%fileMonth%"=="%month%" (
del "%%F"
)
)
popd
endlocal
¼³¸í:
1. set targetDir ºÎºÐ¿¡¼ ´ë»ó µð·ºÅ丮¸¦ D:\APM_Setup\htdocs\pasteldown\files\attach\binaries·Î ¼³Á¤Çß½À´Ï´Ù.
2. for /r %%F in (*) ¸í·É¾î¸¦ »ç¿ëÇÏ¿© ÇÏÀ§ Æú´õ¸¦ Æ÷ÇÔÇÑ ¸ðµç ÆÄÀÏÀ» °Ë»öÇÕ´Ï´Ù.
3. ÆÄÀÏÀÇ »ý¼º ³¯Â¥¸¦ ±âÁØÀ¸·Î ÇØ´ç ¿ù¿¡ »ý¼ºµÈ ÆÄÀÏÀ» »èÁ¦ÇÕ´Ï´Ù.
ÀÌ ½ºÅ©¸³Æ®¸¦ ½ÇÇàÇϱâ Àü¿¡ Áß¿äÇÑ ÆÄÀÏÀÇ ¹é¾÷À» Çصδ °ÍÀ» ±ÇÀåÇÕ´Ï´Ù.
À©µµ¿ì¿¡¿ä.
÷ºÎÆÄÀÏÀº ÀúÀåÇϰųª º¸³»°Å³ª ÇÏ°í ¹Ù·Î Áö¿ì´Â ·çƾÀ» Ãß°¡ÇÏ´Â°Ô ÁÁ¾Æº¸ÀÔ´Ï´Ù.
ÇÁ·Î±×·¥À¸·Î ÇÒ ¼ö ÀÖ´Â °ÍÀ» µû·Î ¼öµ¿À¸·Î Á¤±âÀûÀ¸·Î Áö¿ì·Á°í ÇϽóª¿ä.
½ºÄÉÁñ ±îÁö °É·Á¸é.. ÀÏÀÌ ´õ ¸¹½À´Ï´õ.
PHP¿¡ ÇѴܾ Ãß°¡ ÇÏ¸é µÉ°ÍÀ» ¸Õ±æ µ¹¾Æ°¡½Ã·Á°í ÇϽó׿ä.
if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadFile)) {
echo "ÆÄÀÏÀÌ ¼º°øÀûÀ¸·Î ¾÷·ÎµåµÇ¾ú½À´Ï´Ù.\n";
// ¾÷·ÎµåµÈ ÆÄÀÏÀÌ ¿øº» ÆÄÀÏ °æ·Î¿¡ Á¸ÀçÇÏ´Â °æ¿ì »èÁ¦
if (file_exists($_FILES['userfile']['tmp_name'])) {
unlink($_FILES['userfile']['tmp_name']); // ¿øº» ÆÄÀÏ »èÁ¦
echo "¿øº» ÆÄÀÏÀÌ »èÁ¦µÇ¾ú½À´Ï´Ù.\n";
unlink ¸í·É¾î¸¦ È°¿ëÇØ º¸¼¼¿ä.