我是一名IT学生。我试图在我的Windows Server 2008虚拟机中创建用户,虽然这应该是一个更好的方法,使它们一个接一个地制作它,然后我发现我可以用数据库创建用户,在这种情况下csv和循环脚本。但是由于我对命令和批处理文件的知识水平低,我无法实现我的目标。这就是我在csv文件中的含义:
Pedro,12345,939293c
Juanjo,23456,213123v
Eufrasio,34567,2131312b
Dani,45678,123213n
Pepe,56789,12344v
Manolo,67891,12312567b
这是我制作的批次,我卡在了回声的一部分,命令没有读到
SET LOCAL
@echo incio del script
set n1=
set n2=
set n3=
for /F "tokens=1,2,3* delims=," %%i in (Libro2.csv) do (
set "n1=%%i"
set "n2=%%j"
set "n3=%%k"
echo %n1 %n2 %n3
)
pause
答案 0 :(得分:0)
批处理中的变量引用%var%
,而非%var
。
但是在块中((
和)
之间,您需要启用延迟扩展以显示当前值(如果您在块内更改它们):
setlocal enabledelayedexpansion
set x=one
if 1==1 (
set x=two
echo %x% !x!
)
稍微改变你的脚本:
SETLOCAL enabledelayedexpansion
@echo incio del script
set n1=
set n2=
set n3=
for /F "tokens=1,2,3 delims=," %%i in (Libro2.csv) do (
set "n1=%%i"
set "n2=%%j"
set "n3=%%k"
echo %%i %%j %%k
echo !n1! !%n2! !%n3!
)
(注意:您可以直接使用for
- 变量 - 查看块中的第一个回声)
(注意:tokens=1,2,3,*
表示:对于第四个标记,请使用其余部分。您不必在此处使用它,因为您不使用%%l
)< / p>