2014-03-01 1 views
-2

배치 파일과 텍스트 파일이 있습니다. 해당 텍스트 파일의 두 문자를 모두 가져 와서 배치 파일에 변수로 저장하고 싶습니다.다른 파일에서 일괄 읽기 및 각 두 문자를 변수로 설정

[][][] 

batch.bat

txt.bat

일명 변수

px1=[] px2=[] px3=[] 

이 줄과 두 자릿수의 양에 대해이 작업을 수행하려고합니다. 이 "file.txt"

그것은 변수를 나열하고 일시 중지됩니다 말한다 곳

+0

당신이 배치 파일을 사용하여 사용자의 입력을 할 또는 여러 배치 파일이 있고이를 만들려면 2 개의 문자를 읽는 새로운 배치 파일? 여기에서 달성하고자하는 것을 더 많이 설명해 주실 수 있습니까? – Baljeetsingh

+0

텍스트 파일이 있고 "맵"이 있습니다. 배치 파일에 두 개의 문자를 추가 변수로 저장하고 파일이 설정된 양에 도달 할 때까지 반복하십시오. 변수의. – user11111111111111111111111111

+0

여기서지도에 대한 설명을 설명해 주시겠습니까? 또한 나는 어디에서 두 글자를 가져 가야합니까? 새 파일 또는 동일한 파일에 추가 하시겠습니까? – Baljeetsingh

답변

0

는 파일에이보십시오. 배치 파일이나 경로에있는 폴더에 같은 폴더에 https://www.dropbox.com/s/qidqwztmetbvklt/repl.bat

장소 repl.bat :에서 다운로드 -

이는 도우미 배치 repl.bat라는 파일을 사용합니다.

@echo off 
setlocal enabledelayedexpansion 
type "file.txt"|repl "(..)" "$1\r\n" x >file.tmp 
set c=100 
for /f "delims=" %%a in (file.tmp) do (
set /a c+=1 
set num=!c:~-2! 
set "px[!num!]=%%a" 
) 
set px[ 
del file.tmp 
pause 
1
@echo off 
setlocal EnableDelayedExpansion 

set amount=8 

set i=0 
set "first=" 
rem I have a Text file 
for /F "delims=" %%a in ('cmd /U /C type textFile.txt^| find /V ""') do (
    rem I want to get every two characters from that file... 
    if not defined first (
     set "first=%%a" 
    ) else (
     rem and save it as a variable in the batch file... 
     set /A i+=1 
     set "px!i!=!first!%%a" 
     set "first=" 
     rem and repeat until the file reaches set amount of variables 
     if !i! equ %amount% goto continue 
    ) 
) 
:continue 
set px 

는 TextFile.txt :

[][][] 
abcdef 
1234567890 

출력 :

px1=[] 
px2=[] 
px3=[] 
px4=ab 
px5=cd 
px6=ef 
px7=12 
px8=34 
관련 문제