티스토리 뷰
반응형
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
'정보와 기술' 카테고리의 다른 글
Steamwebhelper가 응답하지 않습니다. (1) | 2024.06.30 |
---|---|
레트로파이 - 키오스크 모드 해제 (0) | 2024.01.13 |
워쉽 관련 유용한 사이트 (0) | 2023.12.24 |
레트로파이 - 레트로아크 설정 파일 위치 (0) | 2023.10.04 |
레트로파이 - 레트로아크 독립 실행 명령어 (0) | 2023.10.04 |
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
TAG
- 레트로게임
- 스크립트팁
- mednafen
- XU4
- 바토세라
- Kodi
- 코디
- RetroPie
- 설정
- RAHashCompare
- Error
- 라즈베리파이5
- 플스1
- 치트
- batocera
- PS1
- 에뮬레이터
- v41
- 에뮬
- 치트코드
- 레트로아크
- retroachievements
- 새턴
- 오드로이드
- 파이널택틱스1
- 레트로파이
- retroarch
- fbneo
- 리콜박스
- Recalbox
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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