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, 1734 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
gelöst BATCH: Minuszeichen in set-Befehl (3)

Frage von Schottenrock zum Thema Batch & Shell ...

Batch & Shell
Batch mit forfiles - Dateiendung filtern - Dateien löschen (2)

Frage von mschaedler1982 zum Thema Batch & Shell ...

Batch & Shell
gelöst Doppelte Dateneinträge per Batch aus Datei löschen? HILFE (5)

Frage von freshman2017 zum Thema Batch & Shell ...

Batch & Shell
gelöst Ordner per Batch in RAR (1)

Frage von kampen zum Thema Batch & Shell ...

Neue Wissensbeiträge
Batch & Shell

Batch als Dienst bei Systemstart ohne Anmeldung ausführen

(3)

Tipp von tralveller zum Thema Batch & Shell ...

Sicherheits-Tools

Sicherheitstest von Passwörtern für ganze DB-Tabellen

(1)

Tipp von gdconsult zum Thema Sicherheits-Tools ...

Peripheriegeräte

Was beachten bei der Wahl einer USV Anlage im Serverschrank

(9)

Tipp von zetboxit zum Thema Peripheriegeräte ...

Heiß diskutierte Inhalte
Exchange Server
Exchange 2016 Standard Server 2012 R2 Hetzner Mail (41)

Frage von Datsspeed zum Thema Exchange Server ...

Windows 7
gelöst Lokales Adminprofil defekt (25)

Frage von Yannosch zum Thema Windows 7 ...

Off Topic
gelöst Fachzeitschriften als E-Book oder hardcoded? (11)

Frage von KowaKowalski zum Thema Off Topic ...

Windows 10
Windows Store Apps ohne Windows Store installieren (10)

Frage von keefien zum Thema Windows 10 ...