Variables 批处理文件。文件中的变量输入无效

Variables 批处理文件。文件中的变量输入无效,variables,batch-file,for-loop,text,input,Variables,Batch File,For Loop,Text,Input,这就是我要做的。我从一个文本文件中获取变量,它们看起来像这样 000001 server1 server2 000002 server2 server1 我编写的第一组代码将执行,但只执行文本文件的最后一行 Set _InputFile=c:\usermovelist.txt For /F "tokens=1-3* delims= " %%A IN (%_InputFile%) DO ( Set _var1=%%A Set _var2=%%B Set _var3=%%C ) xcopy \\

这就是我要做的。我从一个文本文件中获取变量,它们看起来像这样

000001 server1 server2
000002 server2 server1
我编写的第一组代码将执行,但只执行文本文件的最后一行

Set _InputFile=c:\usermovelist.txt
For /F "tokens=1-3* delims= " %%A IN (%_InputFile%) DO ( 
Set _var1=%%A
Set _var2=%%B
Set _var3=%%C
)
xcopy \\%_var2%\e$\profiles\%_var1%.V2 \\%_var3%\e$\profiles\%_var1%.V2 /m /e /y /O /h
xcopy \\%_var2%\e$\users\%_var1% \\%_var3%\e$\users\%_var1% /m /e /y /O /h
pause
ren \\%_var2%\e$\profiles\%_var1%.V2 %_var1%.old.V2.%int%.%date:~-10,2%.%date:~-7,2%.%date:~-4,4%
ren \\%_var2%\e$\users\%_var1% %_var1%.old.%int%.%date:~-10,2%.%date:~-7,2%.%date:~-4,4%
然后我试了这个

Set _InputFile=c:\usermovelist.txt

For /f "tokens=* delims= " %%f in (%_InputFile%) do (
set line=%%f
call :processToken
)


:processToken

For /F "tokens=1-3* delims= " %%A IN (%line%) DO ( 
Set _var1=%%A
Set _var2=%%B
Set _var3=%%C
)

xcopy \\%_var2%\e$\profiles\%_var1%.V2 \\%_var3%\e$\profiles\%_var1%.V2 /m /e /y /O /h
xcopy \\%_var2%\e$\users\%_var1% \\%_var3%\e$\users\%_var1% /m /e /y /O /h
pause
ren \\%_var2%\e$\profiles\%_var1%.V2 %_var1%.old.V2.%int%.%date:~-10,2%.%date:~-7,2%.%date:~-4,4%
ren \\%_var2%\e$\users\%_var1% %_var1%.old.%int%.%date:~-10,2%.%date:~-7,2%.%date:~-4,4%
但这不会将变量读入它的xcopy部分,但它会逐行读取,我也需要它这样做。我可以按任意键,它会沿着每一行向下移动

C:\Users\xxxxx\Desktop>For /F "tokens=1-3* delims= " %A IN (000002 server2 server1) DO (
 Set _var1=%A
 Set _var2=%B
 Set _var3=%C

我是新手,所以提前谢谢你的帮助!很抱歉,我用粗体显示了好的内容,删除了不需要的变量

Set "_InputFile=c:\usermovelist.txt"
For /F "usebackq tokens=1-3* delims= " %%A IN ("%_InputFile%") DO ( 
    xcopy \\%%B\e$\profiles\%%A.V2 \\%%C\e$\profiles\%%A.V2 /m /e /y /O /h
    xcopy \\%%B\e$\users\%%A \\%%C\e$\users\%%A /m /e /y /O /h
    pause
    ren \\%%B\e$\profiles\%%A.V2 %%A.old.V2.%int%.%date:~-10,2%.%date:~-7,2%.%date:~-4,4%
    ren \\%%B\e$\users\%%A %%A.old.%int%.%date:~-10,2%.%date:~-7,2%.%date:~-4,4%
)