我是编程新手。这是我的困境。我必须在多台计算机上替换多个位置的多个文件。
我编写了一个 bat 脚本,我在其中定义了所有变量并调用了一个包含适当信息的 txt 文件。例如 -testing.txt 有值
Apple, Potato,Beef
Apple, Potato,Pork
我正在应用的逻辑如下:我正在使用这个txt文件进行读取,然后去每个位置更改文件
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 文件的最后一行。IE。它读取“Apple,Potato,Pork”并将 DEST 设置为该值。
我真正想要的是读取第 1 行(苹果、土豆、牛肉)使用这些参数设置 DEST 并更改文件,然后返回并读取第二行(苹果、土豆、猪肉)并使用这些参数设置 DEST 和更改文件。