윈 도 우 배치파일 뭐가 잘못되었나요??
2016.12.14 14:55
set name=%username%
echo y| del. /f /s /q /a "C:\Windows\Temp\*.*" > null
echo y| del. /f /s /q /a "C:\Users\%name%\AppData\Local\Temp\*.*" > null
rem echo y| del. /f /s /q /a "C:\Users\%name%\AppData\Local\Microsoft\Windows\INetCache\*.*" > null
매일 temp파일 지우기도 귀찮아서 인터넷글 여기저기 보고 들은것으로
어떨껼에 만들긴 했는대요.. 바탕화면에 있는 파일도 날아가버리던대 혹시 뭐가문제인거죠 ..
찾지를 못하겠습니다. ㅠㅠ
댓글 [3]
-
suk 2016.12.14 21:03
-
LoLOLoL 2016.12.15 09:34
답변 감사합니다...
rem 은 일부러 해놓은거고
문제가 만든 pc에서는 temp 파일 을 정상적으로 지워지던대
다른 pc에서는 바탕화면에 있는 사용자 폴더 파일 까지 다 지워버립니다...
혹시 답변글중에 . 말씀 나오셨는대 바탕화면서 실행 되어 그렇습니까??
-
suk 2016.12.15 16:05
네, bat 파일에서 점은 현재폴더를 의미하는데요
바탕화면에서 실행하시면 바탕화면이 현재폴더가 되기 때문에....바탕화면에 있는 파일들도 삭제하게 될 겁니다
윈도마다 bat 파일 기본 실행위치가 다릅니다. 그래서 차이가 발생한 것 같습니다
del 뒤에 전부 . 점을 찍으셨네요.
점도 의미가 있습니다. bat 파일에서 현재 폴더를 의미합니다
그리고 echo y| 이 부분은 필요가 없습니다. 이런 형식은 뭔가 질문이 나오는 경우에 y 입력을 자동화 하는 건데요
del /f /s /q /a 옵션에서 질문이 나오지 않습니다.
그리고, 마지막에서 rem 을 앞에 붙이시면 실행되지 않고 주석처리 되기 때문에 무효가 됩니다
그리고 %username%을 경로에 직접 입력하시면 되실 겁니다
>null 하시면 필요없는 null 파일이 만들어집니다. >nul 이렇게 하셔야 아무 것도 만들어지지 않습니다
다음과 같이 하시면 되실 겁니다
del /f /s /q /a "C:\Windows\Temp\*.*" > nul
del /f /s /q /a "C:\Users\%username%\AppData\Local\Temp\*.*" > nul
del /f /s /q /a "C:\Users\%username%\AppData\Local\Microsoft\Windows\INetCache\*.*" > nul
저는 실행 결과 보는걸 좋아하기 때문에...>nul은 생략하고 실행할 겁니다. 그러면 어떤 파일들이 삭제되었는지 전부 나옵니다.