for /f "tokens=1,2,3* delims=xx" %%i in (filename.txt) do [명령어] %%i %%j %%k ...
* /f : (집합) 안의 파일을 읽어들여 각 행을 매개변수 %%i 로 사용한다는 의미
* "tokens=1,2,3* delims=xx": 파일을 읽어올 때, 각 행을 어떤 단위로 나눌 것인가를 설정하는 옵션.
- [delims=. ] (space에 주의)와 같이 설정할 경우, "."(dot) 와 " "(space) 을 구분자로 사용하여 각 행을 여러개의 토큰으로 나눔.
- [delims=] 와 같이 delims 값을 설정하면 각 행을 끝까지 읽어서 하나의 토큰으로 처리함.
- token=1,2 로 설정하면 나뉘어진 토큰들 중, 1, 2 번째 토큰을 가져와서 매개변수 %i, %j 로 넘긴 후 다음 행으로 건나감
- token= 옵션에서 *는 모든 토큰을 넘기는 것을 의미함.
- 여기서 매개변수는 반드시 %i 에서 시작해서 j, k, l ... 와 같이 순차적으로 사용해야 함.
- 만일 아무 옵션이 설정되어 있지 않을 경우의 디폴트값은 [token=1], [delims= ]임.
[ 테스트 파일 - test.txt ]
111 222 333 444 aaa.bbb ccc.ddd |
위의 테스트 파일에 대해서 다음 배치 명령들을 직접 테스트 해보길 바람
(*참고 : 매개변수 표현시 명령행에서 직접 실행시는 %i, 배치 파일에서 실행시는 %%i 로 표기해야 함)
for /f "tokens=1,2,3 delims=. " %i in (test.txt) do echo %i %k
for /f "tokens=2,3 delims= " %i in (test.txt) do echo %i %j
for /f "delims=" %i in (test.txt) do echo %i
검색해본자료를 봐도.. 감이 잘 안잡히네요...
저는 그 전 댓글에도 쓴 적이 있습니다만, 컴퓨터에서 사용하는 ip 찾을 일이 없습니다
그때도 ip보다는 bat 파일에 대한 관심으로 만들어본 것인데요. 그것도 일시적 호기심이라서...끝났습니다
System 레지스트리 파일까지 백업해두셨으면 알아서 잘 하실 듯 합니다.
사실 질문하시는 분들처럼 실사용하신 분들이 IP를 저보다 더 잘 아실 겁니다
이전에 질문하신 분도 그렇지만, bat 파일 문구만 제가 좀 더 알 뿐이고, ip에 관련된 사항은 그 분께서 더 자세히 알고 계시더군요
저는 쓸 일이 없어서 ip에 관심이 없어서 아는게 거의 없습니다
그리고, 어제부터 구글 검색은 해봤습니다만...잘 나오지 않더군요.
컴퓨터 이름은 그냥 제가 제 컴퓨터의 레지스트리 검색하여 알아냈습니다. 구글에도 나오더군요
reg query HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\ComputerName\ComputerName /v ComputerName
하면 나오더군요. 작업그룹은 검색해도 잘 보이지 않네요.
위에 레지스트리는 사용중인 윈도일 때이고, 사용하지 않는 오프라인 상태의 윈도의 컴퓨터 이름을 알기 위해서는
reg load HKLM\load "E:\Windows\System32\Config\System"
reg query HKLM\load\ControlSet001\Control\ComputerName\ComputerName /v ComputerName
reg unload HKLM\load
빨간색 부분만 System 파일이 있는 경로로 수정하시면 됩니다
그외 기존 bat 파일 활용하시려면 위에 쓴대로 system 파일 경로만 수정하시면 될 겁니다
컴퓨터에 설치된 윈도의 IP 확인하기3-현재폴더에 SYSTEM만검색.bat
기존의 2번 파일을 현재 폴더에 있는 system 파일만 검색하도록 수정했습니다. 그리고 컴퓨터 이름만 더 추가했습니다
작업그룹 레지스트리는 몇번 구글 검색해도 나오지 않더군요.
* 아! 작업그룹 검색하다 지쳐서 잊고 있었네요. 질문을 다시 보니까 결과물을 파일로 저장하는 방법도 질문하셨군요
결과 화면을 드래그 하셔서 복사/붙여넣기 하시면 되긴 됩니다만...bat 파일 수정해봤습니다
컴퓨터에 설치된 윈도의 IP 확인하기3-현재폴더에 SYSTEM만검색-파일로 저장.bat
화면에 나오는대로 txt 파일로도 저장되게 했습니다. 계속 같은 txt 파일에 추가 저장되기 때문에...날짜 시간으로 구분되게 했습니다
처음 쓴대로 실제 ip를 찾을 일이 없어서..방금 급조한 파일이라서 미흡한 부분이 있을 수 있습니다