批处理文件for if if errorlevel errorlog

时间:2015-02-05 10:35:24

标签: batch-file

我想要的是,如果用户已经存在,只需将此用户的名称放在errorlog.txt

我有这个:

set var_b=123
    FOR /F %%v in (%arxiu%) do (
        net user %%v >nul 2>nul
        if errorlevel 1 ( net user %%v %var_b% /add >nul 2>nul
        )
        if errorlevel 0 ( echo %%v >> C:\Users\%username%\Desktop\errorlog.txt
        )
    )

但是使用这段代码,我得到了已经存在的用户名和创建的新闻,我不知道为什么会出现错误?

1 个答案:

答案 0 :(得分:0)

请参阅Microsoft支持文章Testing for a Specific Error Level in Batch Files

if errorlevel X表示上一个命令的退出代码大于或等于 X

使用以下批次代码:

set "var_b=123"
for /F %%v in (%arxiu%) do (
    net user %%v >nul 2>nul
    if errorlevel 1 (
        net user %%v %var_b% /add >nul 2>nul
    ) else (
        echo %%v>>"%USERPROFILE%\Desktop\errorlog.txt"
    )
)