dipps
Goto Top

Passwort generieren

Passwort generieren

Hallo ich möchte gerne per Batchscript ein Passwort generieren. Von Biber habe ich schon ein Teil des Scriptes bekommen.

Ich habe es noch ein wenig ergänzt:
@echo off
CLS
@set text="abcdefghigklmnopqrstuvwxyz1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ"  

FOR /L %%u IN (1,1,6) DO CALL :setz

:setz
@set /a x=%random% % 60
@Set Zufallszeichen=%text:~!x!,1%
@Set pass= %pass%+%Zufallszeichen%

echo %pass%

Pause
Doch er gibt mir keine Zeichen aus.

Content-Key: 68133

Url: https://administrator.de/contentid/68133

Printed on: April 16, 2024 at 14:04 o'clock

Member: MRosoft
MRosoft Sep 07, 2007 at 12:39:51 (UTC)
Goto Top
Kannst Du mal bitte den Code von biber Posten ich bekomme immer nur Fehlender Operator und ich denke das, dass !x! gegen %x% getauscht werden müsste.
Member: Dipps
Dipps Sep 07, 2007 at 13:00:14 (UTC)
Goto Top
Also von biber

set "text=abcdefghigklmnopqrstuvwxyz1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ"
set /a x=%random% % 60
Set Zufallszeichen=%text:~!x!,1%


Aber ich habe meinen Code jetzt schon soweit

@echo off & setlocal
CLS
set "text=abcdefghigklmnopqrstuvwxyz1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ"

FOR /L %%u IN (1,1,6) DO CALL :setz
goto en


:setz

@set /a x=%random% / 600
echo %x%
Set Zufallszeichen=%text:~ $x%,1%


@set pass=%pass%%Zufallszeichen%

echo %pass%

Pause
Member: Biber
Biber Sep 07, 2007 at 14:31:42 (UTC)
Goto Top
Sorry, ich war unterwegs.

Hier mal ein Aus-der-Hüfte-Korrekturversuch:
:: ----snipp RandowPW.bat
@echo off & setlocal enableDelayedExpansion
:: CLS
Set "Pass="  
set text="abcdefghigklmnopqrstuvwxyz1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ"  

FOR /L %%u IN (1,1,6) DO CALL :setz
echo %pass%
goto :eof
~~~~~~~~~~~end of Batch~~~~
:setz
set /a x=%random% %% 62
Set "Zufallszeichen=!text:~%x%,1!"  
Set "pass=%pass%%Zufallszeichen%"  
:: ----snapp RandowPW.bat
Demo (20 Aufrufe am CMD-Prompt):
>for /L %i in (1,1,20) do @e:\administrator\RandomPw.bat
gfR7vn
zaAYXu
4d"kxg  
sEaEkW
sQW4he
cgoO63
Kv"9Hb  
QzgxdK
Ho7fkL
dF4ytq
prLY68
GhfD8G
wqU"DS  
epN2MR
qfmpID
kGBzuF
aa9gr8
TDdXhv
JiHxh4
wcIAk9
[Getestet, aber nicht allzu ernsthaft ---ist nach wie vor Skizze, keine PROD-Version!]

Anmerkung: die Zeile Set "Pass=" ist natürlich eigentlich überflüssig.
Außer wenn durch Zufall schon eine gleichnamige nicht-lokale Variable existieren würde.

Grüße
Biber
Member: Biber
Biber Sep 10, 2007 at 05:35:13 (UTC)
Goto Top
Nachtrag:

Auch noch so kleine Schnipsel können ausgesprochen dämliche Flüchtigkeitsfehler enthalten...

Ein Ändern der Zeile Set text="abc....." in Set "text=abc...", also das Rücken des ersten Anführungszeichens vor den Variablennamen bewirkt:
>for /L %i in (1,1,20) do @e:\administrator\RandomPw.bat
MIXaxM
eroCoX
PCAxFh
DZmA70
ruSuls
ZpMKTf
JnTsCr
0gWNSh
Gnbe8G
42WXze
54cbyY
yw8aHW
zK6ZPm
ukgsrH
Mg9MCv
qloOXG
myHiP9
q8P4KC
9PWdhY
HH89GZ

Grüße
Biber
Member: Dipps
Dipps Sep 10, 2007 at 07:37:09 (UTC)
Goto Top
DAnke jetzt geht es aber wie kann ich die variable zurück über geben in die andere batchdatei also nicht das ich es ausgegeben bekomme sondern das ich es zB als %pass% bekomme
Member: Biber
Biber Sep 10, 2007 at 07:47:35 (UTC)
Goto Top
Moin Dipps,

Dazu lässt Du die RandomPW.bat so wie sie ist und lenkst die Echo-Ausgabe um in eine Variable.
....
For /F %%i in ('ggfMitPfad\RandomPW.bat') do set "myNewPassword=%%i"  
....

Oder mach alles in einer Batchdatei - die RandomPW-Funktionalität kann doch auch als Unterroutine in Deiner WhatEver.bat stehen.

Grüße
Biber
P.S. Hier ---->[.,,,,,...;-]<----- lass ich noch ein paar so genannte Interpunktionszeichen für Dich da.
Kopier Dir einfach, was Du brauchst. face-wink
Member: Dipps
Dipps Sep 10, 2007 at 08:11:41 (UTC)
Goto Top
@echo off & setlocal
for /f "tokens=1,* delims=," %%i in (%namelg%) do call :ProcessLine "%%~i" "%%~j"
Goto :fertig

:ProcessLine Para1=Name, Para2=Vorname

For /F %%z in ('passwort.exe') do set pass=%%z
Set "name=%~1"
Set "vorname=%~2"
Echo %~1,%~2,zug%name:~0,4%%vorname:~0,3%,%pass%
Echo %~1,%~2,zug%name:~0,4%%vorname:~0,3%,%pass% >> %neuername%.txt

So habe ich es aber er nimmt die pass Variable nicht
Member: Dipps
Dipps Sep 10, 2007 at 09:36:36 (UTC)
Goto Top
Ist schon Okay habe den Fehler gefunden warum es nicht ging und nochmals danke für deine hilfe