Imprima varias contraseñas generadas por .bat en un archivo .txt

Imprima varias contraseñas generadas por .bat en un archivo .txt

Después de buscar en este sitio "cómo generar una contraseña con CMD", encontré algunos ejemplos muy útiles. Luego, quería poder imprimir más de una contraseña a la vez (¿quién querría hacer clic en eso todo el día?) y encontré un código que puede ejecutar el código generador durante un período de tiempo definido. Lo que quiero hacer a continuación es intentar imprimir todas las contraseñas generadas en un único archivo .txt. Sé que tienes que usar el "comando > [unidad:\ruta*.txt]" para eso, pero no sé cómo :/. Después de combinar el generador y el código de bucle, obtuve algo como esto, pero solo imprime una contraseña en el archivo. Cuando se genera el otro, se reemplaza el anterior. ¿Alguna ayuda? :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

Respuesta1

Estás muy cerca.

El operador > significa: escribir en un archivo de texto. Si el archivo de texto ya existe, sobrescríbalo. Si no, cree un nuevo archivo. Esto deshará su contraseña anterior.

El operador >> es lo que necesita en su lugar. Significa: escribir en un archivo de texto. Si el archivo de texto ya existe, agréguelo. Si no, cree un nuevo archivo.

Así que reemplace

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

con:

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

Si desea crear una línea en blanco en ese mismo archivo, agregue: echo. >> D:\contraseña.txt

Su salida entonces será:

pwd=randompass

pwd=randompass

Esto es útil si desea almacenar más información además de la contraseña, por ejemplo:

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

información relacionada