728x90
반응형
Windows환경에서 PowerShell을 이용하면 특정 경로에 있는 특정파일의 모든 내용을 변경할 수 있다.
( geoserver의 datastore id값을 변경할 일이 있어서 씀.. 직접 변경하려면 공수가 너무 들어서... )
샘플코드
# 수정할 디렉터리 경로
$directoryPath = "C:\Path\To\Your\Directory"
# 수정할 문자열
$oldString = "old_string"
$newString = "new_string"
# 디렉터리 내의 모든 XML 파일 가져오기
$xmlFiles = Get-ChildItem -Path $directoryPath -Filter "*.xml" -Recurse
# 각 XML 파일을 열고 내용 수정하기
foreach ($xmlFile in $xmlFiles) {
# 파일 내용을 읽어옴
$content = Get-Content $xmlFile.FullName
# oldString을 newString으로 대체
$modifiedContent = $content -replace $oldString, $newString
# 수정된 내용을 파일에 쓰기
$modifiedContent | Set-Content $xmlFile.FullName
}
위 코드를 보면 딱 4개만 보면 된다.
1. $directoryPath : 수정할 디렉터리 경로 => 해당 경로에 있는 모든 특정파일의 문자열을 수정한다.
2. $oldString : 기존 문자열
3. $newString : 새로운 문자열
4. $xmlFiles : 디렉터리 내의 특정 파일을 가져옴 ( *.xml, *.txt ... 와 같이 확장자를 설정해주어야 함)
실제 사용화면
위 이미지를 보면 ( geoserver 기준으로 설명함 )
D:\****\geoserver-2.17.1-bin\data_dir\workspaces\****\dkacbpr 디렉터리에 있는
<id>DataStoreInfoImpl--6e5e9cb5:1748f58ebc7:-697c</id> 라는 문자열을 가진 모든 xml파일의 문자열을
<id>DataStoreInfoImpl--7104f201:1888a30b221:2427</id> 로 변경해준다.
이렇게 하면 직접 하나하나 변경해주지 않아도 된다.
728x90
반응형
'기타' 카테고리의 다른 글
[Redis] Redis 실행 / 중지 / 상태 확인 방법 (0) | 2023.06.01 |
---|---|
[hosts] IP주소를 도메인 주소로 호출하는 방법 ( hosts 파일 수정 ) (0) | 2022.05.11 |
[기타] 스프링부트(Spring Boot) + 그래들(Gradle)에서 Mybatis, Oracle 연동하기 (2) | 2022.03.17 |
[기타] fetch 비동기 통신후, 페이지가 새로고침 되는 현상.. (0) | 2022.03.15 |
[기타] 스프링부트에서 Controller와 HTML파일 연동하기 ( Gradle 프로젝트, Thymeleaf ) (0) | 2022.03.13 |