윈 도 우 배치파일속의 변수가 변하질 않습니다
2021.01.19 00:07
안녕하세요~~
다름이 아니라 문서내의 파일들을 매뉴로 나타나게 하기 위해서
앞에 숫자를 붙이고 문서내의 파일이름을 옆에 나열하여
선택하게끔 하는 내용을 제작 하려고 하는데요
1. 11.log
2. 12.log
3. 13.log
이런식으로 나열후 선택하게끔 하려고 하고 있습니다.
그러나 앞에 1,2,3 카운터가 동작을 안하는데 왜 안하는것인지 좀 살펴봐주십시요
내용은 아래와 같습니다
set ct=1
for /f "tokens=1" %%a in (file.dat) do (
echo %ct%번 %%a
set /a ct=+1
)
이렇게 실행하면 아래처럼 1개 숫자만 문서안에 파일 갯수만큼 주루룩 뜹니다;; 왜 증가가 안되는건지 궁금합니다. 감사합니다.
1번 11.log
1번 12.log
1번 13.log
댓글 [9]
-
BecauseI 2021.01.19 00:42 -
모노시티 2021.01.19 08:18
도움 감사드립니다. 집에가면 해보겠습니다. -
bangul 2021.01.19 01:00
@echo off
chcp 65001 >nul
cd /d %~dp0
findstr /n /v ` file.dat
echo.
echo.
pause
exit
1:11.log
2:12.log
3:13.log
Press any key to continue . . .
findstr /n /v ` file.dat => ` file.dat 파일에 없는 문자를 사용 합니다.
-
모노시티 2021.01.19 08:18
와우~!! 감사드립니다. 집에서 시험해보겠습니다 -
모노시티 2021.01.19 15:54
천재시네요~ 희얀하네;;;; 요런맛에 프로그래밍 하는것 같아요 신기방기
-
suk 2021.01.19 04:04
숫자 1을 계속 더하기 하시려면, set /a ct=+1 가 아니고 set /a ct+=1 입니다.
그리고 for 구문 안에서 ct 변수를 재지정하시려면
배치 파일 윗부분에 setlocal enabledelayedexpansion 추가하시고, %ct%는 !ct!로 하셔야 됩니다
그리고 파일 이름에 띄어쓰기가 있는 경우를 감안하여 "tokens=1"를 "tokens=*"로 변경하시면 됩니다
-
모노시티 2021.01.19 08:19
헉! 문법이 틀렸던건가요?
친절한 설명 감사드립니다. ^^ -
컨피그 2021.01.19 04:40
set "ct=1"
for /f %%a in (file.dat) do (
call :_ct %%a
)
pause
exit
:_ct
echo %ct%번 %1
set /a "ct+=1"
exit /b
-
모노시티 2021.01.19 08:20
오 call문을 이렇게!!!!
활용하는 예문 참 고맙습니다. 감사드립니다^^
번호 | 제목 | 글쓴이 | 조회 | 등록일 |
---|---|---|---|---|
[공지] | 질문과 답변 게시판 이용간 유의사항 | gooddew | - | - |
87611 | 윈 도 우| Win10XPE 원본 "한/영" 전환 문제 [7] | 동백 | 581 | 01-19 |
87610 | 모 바 일| adguard VPN 의 기능과 용도가 뭔지 알고싶습니다 [4] | zannabi | 503 | 01-19 |
87609 | 소프트웨어| 포토샵 2020에서 저장이 안 돼요 [5] | ksire | 505 | 01-19 |
87608 | 윈 도 우| hyper-v 에서 rocket pe 마우스 인식문제 | 대갈장군 | 152 | 01-19 |
» | 윈 도 우| 배치파일속의 변수가 변하질 않습니다 [9] | 모노시티 | 310 | 01-19 |
87606 | 소프트웨어| Free Download Manager가 다운로드 되지 않는 곳이 적지 않... [2] | brucex | 305 | 01-18 |
87605 | 윈 도 우| LG노트북 윈도우 설치 [9] | 도리도리 | 1235 | 01-18 |
87604 | 소프트웨어| 인터넷이 유선은 안되고 무선만 되네요... [3] | 그런거묻지 | 753 | 01-18 |
87603 | 윈 도 우| Win10XPE103L 오류 확인 부탁드립니다. [3] | 갠지스의잔 | 624 | 01-18 |
87602 | 윈 도 우| 부팅없이 PE 버전 확인이 가능한가요? [7] | 현지니 | 476 | 01-18 |
87601 | 소프트웨어| Intel RST 최신 찾습니다 [16] | DarknessAn | 728 | 01-18 |
87600 | 소프트웨어| 외장하드(또는 외장SSD)에 네트워크드라이브(또는 나스)에 ... [2] | 절규하는정 | 324 | 01-18 |
87599 | 윈 도 우| Win10XPE102 빌드 시 질문입니다. [2] | 동백 | 348 | 01-18 |
87598 | 윈 도 우| Send-to-Kindle 이메일 | 박종민 | 159 | 01-18 |
87597 | 기 타| 바로가기 웹브라우즈 변경하는방법이뭔가요 [3] | 치명적오류 | 310 | 01-18 |
87596 | 소프트웨어| 자료요청 | 농심신난년 | 503 | 01-18 |
87595 | 윈 도 우| 부팅이 안됩니다. [2] | 토니™짱야 | 570 | 01-18 |
87594 | 기 타| 자유게시판에서 시사로 옮겨졌다는 멘트의 시사란은 어디에? [3] | 이상무 | 539 | 01-17 |
87593 | 모 바 일| 스마트폰 사진 복구 [5] | 거제지킴이 | 704 | 01-17 |
87592 | 윈 도 우| 복사후 붙여넣기시 MarkAny Prevent Capture 메세지?? [1] | 한스 | 713 | 01-17 |
@echo off
setlocal enableDelayedExpansion
set ct=1
for /f "tokens=1" %%a in (file.dat) do (
echo !ct!번 %%a
set /a ct+=1
)