프로그래밍 초보자입니다. 여기 내 딜레마가있다. 여러 대의 컴퓨터에서 여러 위치의 여러 파일을 대체해야합니다.for 루프를 사용하여 여러 데이터 입력
필자는 모든 변수를 정의하고 적절한 정보가있는 txt 파일을 호출하는 bat 스크립트를 작성했습니다. 예를 들어 -testing.txt는 값
있다Apple, Potato,Beef
Apple, Potato,Pork
다음과 같이 내가 신청하는 논리는 : 나는 파일
set Path=%Path%;c:\Tools\UnxUtils\usr\local\wbin
SET SORC=C:\tools\logosource\NEWImages\ApiSite\Content
for /F "usebackq delims=, tokens=1-3" %%a in (C:\tools\xxxx\testing.txt) do (
SET HOSTNAME=%%a
SET CUSTNAME=%%c
SET STYPE=%%b
SET DEST=\\%HOSTNAME%\c$\Documents and Settings\blahblah\My Documents\%CUSTNAME%\%STYPE%\goodman\
echo HOSTNAME is %HOSTNAME%
echo CUSTNAME is %CUSTNAME%
echo STYPE is %STYPE%
echo DEST is %DEST%
echo SORC is %SORC%
)
copy "%DEST%\ApiSite\Content\images\michael.gif" "%DEST%"
copy /b /y "%SORC%\images\george.gif" "%DEST%\ApiSite\Content\images\michael.gif"
goto End
:Error
ECHO Error! You must pass in a servername
goto End
:End
을 변경하는 각 위치로 이동 한 후 읽기이 txt 파일을 사용하고 문제는 내 루프가 내 txt 파일의 마지막 줄만 읽는 것입니다. 즉. "Apple, Potato, Pork"라고 읽었고 그 값을 DEST로 설정합니다.
내가 정말로 원한다면이 매개 변수를 사용하여 DEST를 설정하고 파일을 변경 한 다음 다시 돌아가서 두 번째 줄 (Apple, Potato, Pork)을 읽고 DEST 이 매개 변수를 사용하고 파일을 변경하십시오.