
nachdem ich auf dieser Site nach „Wie erstelle ich ein Passwort mit CMD“ gesucht hatte, fand ich einige sehr nützliche Beispiele. Dann wollte ich in der Lage sein, mehr als ein Passwort gleichzeitig auszudrucken (wer würde schon den ganzen Tag darauf klicken wollen) und ich fand Code, der den Generatorcode für eine bestimmte Zeit ausführen kann. Als nächstes möchte ich versuchen, alle generierten Passwörter in einer einzigen TXT-Datei auszudrucken. Ich weiß, dass man dafür „command > [drive:\path*.txt]“ verwenden muss, aber ich weiß nicht wie :/. Nachdem ich den Generator- und den Loop-Code kombiniert hatte, bekam ich so etwas, aber es druckt nur ein Passwort in die Datei. Wenn das andere generiert wird, wird das alte ersetzt. Irgendwelche Hilfe? :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
Antwort1
Du bist ganz nah dran.
Der Operator > bedeutet: In eine Textdatei schreiben. Wenn die Textdatei bereits existiert, überschreiben. Wenn nicht, eine neue Datei erstellen. Dadurch wird Ihr bisheriges Passwort rückgängig gemacht.
Stattdessen benötigen Sie den Operator >>. Er bedeutet: In eine Textdatei schreiben. Wenn die Textdatei bereits existiert, fügen Sie sie an. Wenn nicht, erstellen Sie eine neue Datei.
Ersetzen Sie also
echo pwd=%pwd% > D:\password.txt
mit:
echo pwd=%pwd% >> D:\password.txt
Wenn Sie in derselben Datei eine leere Zeile erstellen möchten, fügen Sie hinzu: echo. >> D:\password.txt
Ihre Ausgabe wird dann sein:
pwd=randompass
pwd=randompass
Dies ist nützlich, wenn Sie neben dem Passwort weitere Informationen speichern möchten, zum Beispiel:
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