私はプログラミングが初めてです。これが私のジレンマです。複数のコンピューターの複数の場所にある複数のファイルを置き換える必要があります。
すべての変数を定義し、適切な情報を含む 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 ファイルの最後の行だけを読み取っていることです。すなわち。「Apple、Potato、Pork」と読み、DEST をその値に設定します。
私が本当に欲しいのは、1 行目 (Apple、Potato、Beef) を読み、これらのパラメータを使用して DEST を設定し、ファイルを変更してから、戻って 2 行目 (Apple、Potato、Pork) を読み、これらのパラメータを使用して DEST を設定し、ファイルを変更します。