
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