0
힌트와 함께 주 배치 파일을 조정했지만 변수 TARG_FILE이 변경되지 않았습니다. 나는이 배치의 데이터 찾기 바꾸기 특수 문자 문자열 - 일괄
Cls
DIR /o-d /b D:\Data\All_Inputfiles\*.* > D:\Data\FileList_for_Import.txt
REM Start Loop thru the file names that are available in FileList_for_Import.txt
REM Loop thru file
SETLOCAL EnableDelayedExpansion
@echo off
Set AllInputFile= D:\Data\FileList_for_Import.txt
SET INTEXTFILE=C:\DataLoader\Load.xml
set OUTTEXTFILE=D:\Data\tmp_out.txt
SET BackupPath=D:\Data\BackupLoad.xml
Set TempFile=D:\Data\tmp.txt
SET DbgFile=D:\Data\debuginfo.txt
Rem Remove Debug files
Del !DbgFile!
REM Del D:\Data\debugerr.txt
ECHO " Start ">!DbgFile!
ECHO !AllInputFile!>>!DbgFile!
ECHO " "###########Start of MAIN OF LOOP ############"
REM pause
for /f "tokens=*" %%a in (!AllInputFile!) do (
set "TARG_FILE=%%a"
REM ECHO line=%%a "TARG_FILE "!TARG_FILE!>>!DbgFile!
REM Get the 2nd line from the debugpayload file
REM for /f "tokens=1*delims=:" %%G in ('findstr /n "^" C:\DataLoader\Load.xml') do if %%G equ 2 set "DbgLine=%%H"
REM ECHO " "DbgLine "!DbgLine!>>!DbgFile!
Del !TempFile!
REM Copy !INTEXTFILE! !BackupPath!
findstr /g "InFilePath" !INTEXTFILE!>!TempFile!
REM set /p "DbgLine="< !TempFile!
set /p DbgLine=< !TempFile!
ECHO "DbgLine "!DbgLine!>>!DbgFile!
SET PREVFILE_NM=!DbgLine:~75,-13!
ECHO "PREVFILE_NM "!PREVFILE_NM! "TARG_FILE " !TARG_FILE! "Before Replace FinalreplaceLine "!FinalreplaceLine!>>!DbgFile!
set FinalreplaceLine=!DbgLine!
REM ECHO "Before Replace FinalreplaceLine "!FinalreplaceLine!>>!DbgFile!
set FinalreplaceLine=!FinalreplaceLine:%PREVFILE_NM%=%TARG_FILE%!
ECHO "FinalreplaceLine "!FinalreplaceLine!>>!DbgFile!
)
`
`file1.txt
file2.txt
같은 출력이 ! TARG_FILE 같다 포함 FileList_for_Import.txt에서 파일 이름을 추출하기 위해 노력하고 있습니다!
file1.txt
file2.txt
각 반복에 받고 있지만, 아래 문은 첫 번째 반복과 나던 변경 대체하지 않습니다 두 번째 반복이 값은 File2.txt로 대체합니다.
set FinalreplaceLine=!FinalreplaceLine:%PREVFILE_NM%=%TARG_FILE%!
도움이나 소중한 제안에 미리 감사드립니다.
는 루프 문제에 대한 내 편집을 확인합니다. – SachaDee