Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Batch wird bei zu vielen Set befehlen schlampig

Frage Entwicklung Batch & Shell

Mitglied: B-free

B-free (Level 1) - Jetzt verbinden

24.04.2013, aktualisiert 19:57 Uhr, 1737 Aufrufe, 15 Kommentare

Hallo,

Ich habe ei kleinen Code geschrieben, der ein Passwort nicht im Klartext, sondern als Zahlenfolge hat, und mit Hilfe von dieser dann das Passwort als Variable definiert. Mein Code sieht so aus:
(er ruft die Ziffern aus den Verzeichnis VSL auf wo per Zufall angeordnete Buchstaben und Zahlen in datein 01 bis 100 gespeichert sind und dann geordnet werden)
01.
(...) 
02.
set /p pw=<VSL/33 
03.
set /p pw=%pw%<VSL/25  
04.
set /p pw=%pw%<VSL/28 
05.
set /p pw=%pw%<VSL/05 
06.
set /p pw=%pw%<VSL/06 
07.
set /p pw=%pw%<VSL/32 
08.
set /p pw=%pw%<VSL/12 
09.
set /p pw=%pw%<VSL/14 
10.
set /p pw=%pw%<VSL/24 
11.
set /p pw=%pw%<VSL/21 
12.
set /p pw=%pw%<VSL/19 
13.
set /p pw=%pw%<VSL/20 
14.
set /P pw=%pw%<VSL/32 
15.
echo %pw% 
16.
pause 
17.
(...)
Das Problem ist, dass es mittendrin stockt, und am ende nur die letzte Ziffer des Passwortes ausspuckt!

Weiß jemand Rat?
Hatte jemand schon einmal das Problem, oder weiß gar wie man es löst?

Dann schreibt bitte einen Kommentar!!!!

Tschüss
B-Free
Mitglied: Endoro
24.04.2013 um 20:39 Uhr
Hallo B-Free,

wie lang ist deine Zeichenkette wenn es stockt?

Gruss!
Bitte warten ..
Mitglied: B-free
24.04.2013 um 20:43 Uhr
bei dem 4.
01.
set /p pw=...
hört es auf... allerdings habe ich davor auch immer nur maximal 2 stellen in der Variable!!!
Bitte warten ..
Mitglied: Endoro
24.04.2013, aktualisiert um 21:48 Uhr
Hallo,

per Zufall angeordnete Buchstaben und Zahlen

Was denn für Buchstaben? Könntest du die mal aufzählen? Vor allem die bevor es stockt.

Gruss!
Bitte warten ..
Mitglied: B-free
24.04.2013, aktualisiert um 22:08 Uhr
bevor es stockt ist es eine 4.
Ansonsten a-z und 0-9... Nichts was Batch stört!
Bitte warten ..
Mitglied: Endoro
24.04.2013 um 21:59 Uhr
Funktioniert hier normal. Welches OS?
Bitte warten ..
Mitglied: B-free
24.04.2013 um 22:03 Uhr
Hä? "OS" was ist das??? hab ich was verpasst???
Bitte warten ..
Mitglied: Endoro
24.04.2013 um 22:04 Uhr
operating system. Damit meine ich die Windows-Version.
Bitte warten ..
Mitglied: B-free
24.04.2013 um 22:07 Uhr
7 64 Bit, neustes Update und rechtmäßig Lizenziert!
Bitte warten ..
Mitglied: Endoro
24.04.2013 um 22:09 Uhr
Dann müsste das mal jemand mit diesem OS gegenchecken.
Bei "set /p" gibt's Versionsunterschiede und ich hab deins nicht.

Gruss!
Bitte warten ..
Mitglied: B-free
24.04.2013 um 22:14 Uhr
aber es kann geht doch alles andere mit
01.
 set /p var=<textdateimitvariable.log
auf meinem Rechner!
ich hab keine Ahnung warum, aber ich glaub mein Rechner mag mich nicht! :´(
Bitte warten ..
Mitglied: andimue
25.04.2013 um 12:34 Uhr
Zitat von B-free:
aber es kann geht doch alles andere mit
01.
 set /p var=<textdateimitvariable.log

auf meinem Rechner!

Hallo B-free,

der Befehl ist ja auch nicht das Problem.
Er bleibt ja erst hängen bei
01.
 set /p var=%var%<textdateimitvariable.log


Ich denk mal, es hängt mit dem Aufbau des set /p - Befehls zusammen:

das, was du hinter dem Gleichheitszeichen angibst ist ja der Prompt, der eigentlich ausgegeben werden soll und da hängt er sich wohl auf (passiert bei mir bei einem Win XP und einem Win2008R2)

Gruß
Andi
Bitte warten ..
Mitglied: Biber
25.04.2013, aktualisiert um 12:50 Uhr
Je nun,

auch wenn es vielleicht unästhetisch aussehen mag in Zeiten der objektorientierten 5GL-Coderei, aber warum denn nicht einfach
01.
 ... 
02.
 
03.
set /p var=<textdatei01mitvariable.log 
04.
Set "sammelvar=%sammelvar%%var%" 
05.
set /p var=<textdatei02mitvariable.log 
06.
Set "sammelvar=%sammelvar%%var%" 
07.
set /p var=<textdatei14mitvariable.log 
08.
Set "sammelvar=%sammelvar%%var%" 
09.
set /p var=<textdatei27mitvariable.log 
10.
Set "sammelvar=%sammelvar%%var%" 
11.
...
Sieht zwar shice aus, aber der Algorithmus, den der Batch abbildet, der hat doch auch noch Luft nach oben.

Grüße
Biber
Bitte warten ..
Mitglied: andimue
25.04.2013 um 13:15 Uhr
Hallo,

wenn es um "schräge" Lösungen geht hätte ich auch noch einen :

01.
for /f %%a in ('type 1.txt ^& type 2.txt ^& type 3.txt') do set "var=%%a"
Gruß
Andi
Bitte warten ..
Mitglied: Endoro
25.04.2013 um 16:59 Uhr
Hallo @all,

mittels komplizierter Versuchsanordnung hab ich raus gefunden, was
01.
set /p var=%var%<test.txt
bewirkt. Nämlich das gleiche wie
01.
set /p var=<test.txt
Mich hat der output "genarrt". Es wird so nix gesammelt und Bibers Code ist richtig.


Gruss!
Bitte warten ..
Mitglied: B-free
26.04.2013 um 16:43 Uhr
Hey Super,

Danke für die Hilfe, ich hatte auch schon an so etwas gedacht, aber dachte dann, dass es eigentlich auch einen anderen weg geben müsste...

Naja dann halt kompliziert.

Tschüss
B-free
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
Batch zum Zurücksetzen eines lokalen Profils

Tipp von Mr.Error zum Thema Batch & Shell ...

Batch & Shell
gelöst Laufwerksbezeichnung (label) in Batch als Variable nutzen (7)

Frage von tobias.mock zum Thema Batch & Shell ...

Batch & Shell
gelöst Batch Datei: PDF Dateien verschieben, umbenennen und löschen (4)

Frage von F0rcehunter zum Thema Batch & Shell ...

Neue Wissensbeiträge
Batch & Shell

Batch - ein paar Basics die man kennen sollte

Tipp von Pedant zum Thema Batch & Shell ...

Microsoft

Restrictor: Profi-Schutz für jedes Window

(6)

Tipp von AlFalcone zum Thema Microsoft ...

Batch & Shell

Batch zum Zurücksetzen eines lokalen Profils

Tipp von Mr.Error zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Microsoft Office
Saubere HTML aus Word-Dokument (16)

Frage von peterpa zum Thema Microsoft Office ...

Router & Routing
ASUS RT-N18U mit VPN Client hinter Fritzbox - Portforwarding (15)

Frage von marshall75000 zum Thema Router & Routing ...

Hosting & Housing
gelöst Webserver bei WIX, aber DNS Server wo anders (9)

Frage von laster zum Thema Hosting & Housing ...