티스토리 뷰
반응형
    
    
    
  CSV 파일 조건에 따라 필요 없는 파일을 한꺼번에 삭제해야 할 때가 있다.
PowerShell로 손쉽게 자동화할 수 있지만,
실수로 중요한 파일까지 삭제하지 않으려면 삭제 전 사전 확인이 반드시 필요하다.
1. CSV에서 삭제 대상 파일 경로 추출한다
예를 들어 nes_famicom_7.csv 가 만들어졌을 때, 필요 기준(예: status가 unmatched)에 맞는 행에서 파일 경로(전체 경로)를 뽑아deletelist.txt로 저장한다.
Import-Csv "nes_famicom_7.csv" | Where-Object { $_.status -eq "unmatched" } | Select-Object -ExpandProperty "ROM Path" > deletelist.txt
ROM Path컬럼에 전체 경로가 있어야 별도 경로 합성 없이 바로 쓴다.
2. 삭제 전 사전 확인 반드시 진행한다
2-1. 삭제 대상 샘플 미리 확인한다
Get-Content deletelist.txt | Select-Object -First 5
- 삭제 리스트에서 일부만 미리 출력해, 파일 경로가 예상대로 추출됐는지 확인한다.
 
2-2. 실제로 삭제 가능한 파일만 미리 출력한다
Get-Content deletelist.txt | Select-Object -First 5 | ForEach-Object {
    if (Test-Path $_) { Write-Output $_ }
}
- 시스템에 실제 존재하는 파일만 미리 확인할 수 있다.
 
2-3. 삭제 전 전체 실존 파일 한 번 더 체크한다(필수 x.)
Get-Content deletelist.txt | ForEach-Object {
    if (Test-Path $_) { Write-Output $_ }
}
- 삭제 리스트 전체에서 실제로 존재하는 전체파일을 출력한다.
 
3. 삭제 명령 실행한다
모든 확인이 끝났다면 아래처럼 실제 삭제를 진행한다.
Get-Content deletelist.txt | ForEach-Object {
    if (Test-Path $_) { Remove-Item $_ }
}
- 항상 삭제 전 목록을 다시 한 번 점검한 뒤 실행한다.
 
728x90
    
    
  '정보와 기술' 카테고리의 다른 글
| Pang-ui 프로젝트를 시작하다. (0) | 2025.10.12 | 
|---|---|
| Steamwebhelper가 응답하지 않습니다. (1) | 2024.06.30 | 
| 레트로파이 - 키오스크 모드 해제 (0) | 2024.01.13 | 
| 워쉽 관련 유용한 사이트 (0) | 2023.12.24 | 
| 레트로파이 - 레트로아크 설정 파일 위치 (0) | 2023.10.04 | 
                      공지사항
                      
                  
                
                  
                  
                    최근에 올라온 글
                    
                
                  
                  
                    최근에 달린 댓글
                    
                
                  
                  - Total
 
- Today
 
- Yesterday
 
                    TAG
                    
                
                  
                  - 치트코드
 - Kodi
 - 에뮬레이터
 - 라즈베리파이5
 - RAHashCompare
 - 레트로아크
 - 코디
 - 파이널택틱스1
 - XU4
 - ROM관리
 - Error
 - 바토세라
 - batocera
 - retroarch
 - retroachievements
 - fbneo
 - PS1
 - 에뮬
 - 리콜박스
 - 오드로이드
 - 레트로게임
 - 치트
 - 새턴
 - mednafen
 - 레트로파이
 - Deflate64
 - 플스1
 - Recalbox
 - RetroPie
 - 설정
 
| 일 | 월 | 화 | 수 | 목 | 금 | 토 | 
|---|---|---|---|---|---|---|
| 1 | ||||||
| 2 | 3 | 4 | 5 | 6 | 7 | 8 | 
| 9 | 10 | 11 | 12 | 13 | 14 | 15 | 
| 16 | 17 | 18 | 19 | 20 | 21 | 22 | 
| 23 | 24 | 25 | 26 | 27 | 28 | 29 | 
| 30 | 
                    글 보관함
                    
                250x250