1

после поиска на этом сайте "как сгенерировать пароль с помощью CMD" я нашел несколько очень полезных примеров. Затем я хотел иметь возможность печатать более одного пароля за раз (кто хотел бы щелкать по нему весь день), и я нашел некоторый код, который может запускать код генератора в течение определенного количества времени. Далее я хочу попробовать распечатать все сгенерированные пароли в одном файле .txt. Я знаю, что вы должны использовать «command> [drive:\path * .txt]» для этого, но я не знаю как:/. После того, как я скомбинировал генератор и код цикла, я получил что-то вроде этого, но он печатает только один пароль в файле. Когда другой генерируется, старый заменяется. Любая помощь? :D

@echo off
set execute counter=0
:loop
(@Echo off  
rem 16 stings pwd

setlocal ENABLEEXTENSIONS ENABLEDELAYEDEXPANSION
set alfanum=ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789

set pwd=
FOR /L %%b IN (0, 1, 16) DO (
SET /A rnd_num=!RANDOM! * 62 / 32768 + 1
for /F %%c in ('echo %%alfanum:~!rnd_num!^,1%%') do set pwd=!pwd!%%c
)

echo pwd=%pwd% > D:\password.txt
) :: This here between the () is the on line password generator
set /a executecounter=%executecounter%+1
if "%executecounter%"=="30" goto done
goto loop
:done
echo Complete!
pause

1 ответ1

1

Вы очень близки

Оператор> означает: запись в текстовый файл. Если текстовый файл уже существует, перезапишите. Если нет, создайте новый файл. Это отменит ваш предыдущий пароль.

Оператор >> - это то, что вам нужно. Это значит: написать в текстовый файл. Если текстовый файл уже существует, добавьте к нему. Если нет, создайте новый файл.

Так замени

echo pwd=%pwd% > D:\password.txt

с:

echo pwd=%pwd% >> D:\password.txt

Если вы хотите создать пустую строку в этом же файле, добавьте: echo. >> D:\password.txt

Ваш вывод будет тогда:

pwd=randompass

pwd=randompass

Это полезно, если вы хотите хранить больше информации помимо пароля, например:

set foruser /p "for which user is this?"

echo -------------- >> d:\password.txt
echo Password generated at %date% %time%. >> d:\password.txt
echo Password was made for user: %foruser%
echo pwd=randompass >> d:\password.txt
echo -------------- >> d:\password.txt
echo. >> d:\password.txt

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .