[英]batch script to add number to a string in loop
我需要生成虚拟用户列表。 没有用户将作为输入提供..如5或500或5000.我想要的是拥有像usr这样的标准文本并附加一个数字并生成像usr1,usr2,usr3等的列表。我以为我能做到这在批处理文件中很快。 但坚持循环并将数字附加到字符串..可以一些帮助吗?
@echo OFF
SETLOCAL ENABLEDELAYEDEXPANSION
set /p numb="Enter how many users to be generated "
set numb2=0
set x=0
set name1=tstusr
set name1=tstusr
set name2=%name1%
for /l %%x in (1,1,%numb%) do (
echo %%x
set numb2=%%x
set name1=tstusr
set name2=%name1%%numb2%
echo %name1%
echo %name2%
)
我不确定我是否正确。 您只需要一个脚本,要求您输入数字X然后输出
USR1
USR2
USR3
...
USRx位置
在这种情况下,这将是代码:
@ECHO OFF
SET /p numb="Enter how many users to be generated "
FOR /l %%I IN (1,1,%numb%) DO (
ECHO usr%%I
)
PAUSE
如果这不是问题,请帮助我理解您的脚本。 例如,为什么你使用set name1=tstusr
三次?
略微修改你的代码......
@echo OFF
SETLOCAL ENABLEDELAYEDEXPANSION
set /p numb="Enter how many users to be generated "
set numb2=0
set x=0
set name1=tstusr
set name1=tstusr
set name2=%name1%
for /l %%x in (1,1,%numb%) do (
echo %%x
set numb2=%%x
set name1=tstusr
set name2=!name1!!numb2!
echo !name1!
echo !name2!
)
endlocal
@ECHO OFF
SETLOCAL ENABLEDELAYEDEXPANSION
set /p numb="Enter how many users to be generated "
>q28342811.txt ECHO tstusr%random%
:loop
set "name=tstusr%random%"
FINDSTR /x "%name%" q28342811.txt >NUL
IF ERRORLEVEL 1 SET /a numb -=1&>>q28342811.txt ECHO %name%
IF %numb% gtr 1 GOTO loop
TYPE q28342811.txt
GOTO :EOF
生成q28342811.txt
随机生成一个用户名到输出文件,然后重复操作numb
-1次,检查新的候选人尚未在文件中存在的第一个。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.