서버 / IT 서버에서 홈폴더 자동 삭제 배치 파일 문의 입니다.
2010.10.21 11:12
회사 사내 서버에 테스트하는 프로젝트가 있는데 제가 해보려고 해도 잘 안되는 부분이 있어서 도움 부탁합니다. 배치파일을 짜는 것인데 if for 문으로 될거 같은데 어렵네요.
내용은 터미널 서비스(원격 데스크탑)을 로그오프할 때 특정폴더(홈폴더, Z:\)에 있는 특정폴더(WINDOWS 라는 이름)외의 모든 파일 폴더를 삭제해야합니다.
@echo off
pushd Z:\ (혹은 %homedrive%)
dir /AD /B > Z:\del.txt
FOR /F %%a IN (Z:\del.txt) do rmdir /S /Q %%a
del . /f /q
까지는 생각하겠는데, 만약에 %%a가 WINDOWS 라면 RMDIR 하지 않고 패스하는 것을 넣고 싶습니다.
아 그리고 어떤 곳에서는 rmdir /s /q 새 폴더 하면 지워진다는데... 제 Windows 7 이나 서버 2008R2에서는 안 지워지네요.
rmdir 은 /s /q "새 폴더" 라고 따옴표를 치면 지정된 파일을 찾을 수 없다는데... 긴 이름의 폴더는 어떤 pc에서는 되는데 서버에서는 안되기도 하네요.
아니면, A 라는 폴더 내에 B라는 폴더 만 남기고 C D E F 같은 나머지 폴더 및 하위에 파일은 모두 지워주는 프로그램이 있나요? (있다면 실행시 바로 삭제 후 종료 혹은 커맨드 상에서 해야하는데) 어렵네요~
댓글 [3]
-
아토믹스 2010.10.21 12:15 -
SLayTaN 2010.10.21 12:38
감사합니다. 굳이 파일로 생성해서 리스트 안가져와도 되네요. tokens를 쓰면 되는 군요.
if not a == b 면 do 하는 거로군요.
일단 두번 테스트 해봤는데 더 해봐야겠습니다.
가끔 rd가 긴 폴더명에서 안지워지는 경우가 있어서 테스트해봐야지요.
-
아토믹스 2010.10.21 12:45 tokens 쓴 이유는 한라인을 하나의 변수에 넣기 위해서 쓴건데
그냥 하면 공백까지 인식하던것로 기억이...
for 에서 ()안의 내용을 작은따옴표 묶으면 명령어로 인식합니다..
번호 | 제목 | 글쓴이 | 조회 | 등록일 |
---|---|---|---|---|
[공지] | 질문과 답변 게시판 이용간 유의사항 | gooddew | - | - |
17616 | 윈 도 우| 멀티부팅 문의(고수님 부탁합니다) 27번째 부팅 중 [10] | 담장미인 | 2212 | 10-21 |
17615 | 윈 도 우| 멀티부팅(전문가님 부탁합니다) [12] | 담장미인 | 3329 | 10-21 |
17614 | 윈 도 우| 7ultimatex86_Diet_update 다이어트버젼에는 [1] | KokoroZzin | 2652 | 10-21 |
17613 | 윈 도 우| 점프 목록 [1] | 無名居士 | 2396 | 10-21 |
17612 | 윈 도 우| vhd 질문인데요.. [3] | 사나이 | 2232 | 10-21 |
17611 | 윈 도 우| 컴퓨터를 껐다 켜면 네트워크 재설정을 해야 됩니다. [2] | 오지영 | 3300 | 10-21 |
17610 | 하드웨어| vmware7.1.2 사용중인데 usb장치 연결에 문제가 있어 도움 ... [2] | 영락제 | 3214 | 10-21 |
17609 | 하드웨어| 램 용량 질문 (수정 추가 질문: 19시 05분) [6] | 한냐⌒ | 2279 | 10-21 |
17608 | 하드웨어| 이 폰트명이 뭔가요? [1] | gooddew | 2361 | 10-21 |
» | 서버 / IT| 서버에서 홈폴더 자동 삭제 배치 파일 문의 입니다. [3] | SLayTaN | 5999 | 10-21 |
17606 | 윈 도 우| 원격을 통해 사이즈 조절을 하려고 합니다. [1] | 찰스 | 2240 | 10-21 |
17605 | 윈 도 우| 관리자 권한 관련 질문입니다 [3] | 흑태자 | 2104 | 10-21 |
17604 | 윈 도 우| net use를 이용해 Win2000에 접근하려고 합니다. | 컴지존 | 2029 | 10-21 |
17603 | 하드웨어| 메모리가 왜 다 사용할수 없는건가요? [10] | Jinneous | 2927 | 10-21 |
17602 | 하드웨어| 왜 오버전압인지.. | 왕개미 | 1947 | 10-21 |
17601 | 윈 도 우| 바탕화면 아이콘이 사라지는 이유가 뭔가요? [2] | 눈비 | 2747 | 10-21 |
17600 | 하드웨어| 삼성 램 오버클럭에 대해.... [1] | XXXuser | 3235 | 10-20 |
17599 | 하드웨어| AVI동영상파일을 MP3파일로 변환하는 법 [5] | 한 걸 음 | 2958 | 10-20 |
17598 | 윈 도 우| 해상도 질문입니다. 1920*1080이 되는데 전 와이드라 1680*... [3] | 나그네켄신 | 2532 | 10-20 |
17597 | 윈 도 우| 다시 질문 올립니다. [3] | 나르시스 | 1879 | 10-20 |
dir /AD /B > Z:\del.txt
FOR /F %%a IN (Z:\del.txt) do rmdir /S /Q %%a
이부분을 밑 처럼..
FOR /F "tokens=*" %%a IN ('dir /ad /b') do ( if not "%%a" == "WINDOWS" rmdir /s /q "%%a")
이런식으로 하면 될 듯...@@; 안 되면 .TT;