윈 도 우 배치파일 질문 입니다.
2021.01.13 18:58
기존 텍스트 Item.txt 가 있고
텍스트 값의 일부를 배치파일로 추출하여 출력하는 질문 입니다.
텍스트 내용은 아랫처럼 숫자만 수직으로 있는 텍스트( Item.txt )이고
FOR 문이나 IF 문 뭐든 좋은데 숫자를 %%으로 추출 하고 싶습니다.
어떻게 작성 하면 될까요? ㅎㅎ 갈촤 주십시오
-----------------------------------------------------
대략 이런식?
for /f "tokens=1-3" %%,xxxxxxx (Item.txt) do (
set add1=%%a
set add2=%%b
set add2=%%c
echo. %add1% 추출값 ----> 0
echo. %add2% 추출값 ----> 1
echo. %add3% 추출값 ----> 2
-----------------------------------------------------
Item.txt 내용 (앞 1칸 공백)
0
1
2
3
4
5
6
7
댓글 [8]
-
bangul 2021.01.13 19:37
-
집앞의_큰나무 2021.01.13 19:48
아이쿠!
감사 합니다. bangul님!
원했던바대로 이상없이 아주 잘됩니다.
-
bangul 2021.01.13 20:06
@echo off
chcp 65001 >nul
cd /d %~dp0
echo.
set /a a=0
setlocal enabledelayedexpansion
for /f %%a in (Item.txt) do (
set /a a+=1
set add!a!=%%a
)
echo %add1% %add2% %add3%
echo.
pause
exit
이렇게 해도 됩니다. -
집앞의_큰나무 2021.01.13 20:23
아~
또 감사 드립니다.
주신 구문 덕분에 원하던것이 확 ~ 뚤려서 고속화로 진행하게 되었습니다.
chcp 65001 >nul 는 UTF-8 인코딩 한글 깨짐 방지군요
-
지후빠 2021.01.13 21:08
고수님들 배치 스크립트 궁금할 때 찾아봅니다. ^^
- https://www.tutorialspoint.com/batch_script/index.htm
bangul님 수고하셨습니다. 큰나무님 글 보면서 매번 하나씩 배웁니다. 감사합니다.^^
이미 아시겠지만 공백1칸 지우려면 다음처럼...
- https://www.tutorialspoint.com/batch_script/batch_script_remove.htm
@echo off
chcp 65001 >nul
cd /d %~dp0
echo.
set /a a=0
setlocal enabledelayedexpansion
for /f "delims=" %%a in (Item.txt) do (
set /a a+=1
set ad=%%a
set add!a!=!ad: =!
)
set add
echo.
pause
exit
-
집앞의_큰나무 2021.01.13 21:50
애구구
고맙습니다. 지후빠님.
-
bangul 2021.01.13 22:15
지후빠님 감사합다.
-
집앞의_큰나무 2021.01.13 22:57
ㅎㅎ
아셨겠지만.
이것 사용용도는 디스크 번호랑 파티션 번호 자동입력 하려고 한것입니다.
너무 너무 잘됩니다.
두분께 또 감사 합니다.
@echo off
chcp 65001 >nul
cd /d %~dp0
set /a a=0
echo.
setlocal enabledelayedexpansion
for /f "delims=" %%a in (Item.txt) do (
set /a a+=1
set add!a!=%%a
if !a! == 3 goto :aaa )
exit
:aaa
echo %add1% %add2% %add3%
echo.
pause
exit
for /f "tokens=1-3" %%a in (Item.txt) do (
set add1=%%a
set add2=%%b
set add2=%%c