簡體   English   中英

批處理腳本在循環中向字符串添加數字

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM