Распечатать несколько сгенерированных .bat паролей в файл .txt

Распечатать несколько сгенерированных .bat паролей в файл .txt

после поиска на этом сайте по запросу «как сгенерировать пароль с помощью 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

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

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

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

Так что замените

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

Связанный контент