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, 1724 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 ..
Neuester Wissensbeitrag
Internet

Unbemerkt - Telekom Netzumschaltung! - BNG - Broadband Network Gateway

(3)

Erfahrungsbericht von ashnod zum Thema Internet ...

Ähnliche Inhalte
Batch & Shell
gelöst Batch-bei set in der Mitte schreiben? (5)

Frage von Jonas1806 zum Thema Batch & Shell ...

Batch & Shell
gelöst Batch: (at)set und (at)echo in For-Schleifen? und mehr (8)

Frage von Ben.Blake.79 zum Thema Batch & Shell ...

Batch & Shell
gelöst BATCH: Minuszeichen in set-Befehl (3)

Frage von Schottenrock zum Thema Batch & Shell ...

Batch & Shell
gelöst Batch: SET geht nicht?! (3)

Frage von SlainteMhath zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Windows Server
Outlook Verbindungsversuch mit Exchange (15)

Frage von xbast1x zum Thema Windows Server ...

Microsoft Office
Keine Updates für Office 2016 (12)

Frage von Motte990 zum Thema Microsoft Office ...

Grafikkarten & Monitore
Tonprobleme bei Fernseher mit angeschlossenem Laptop über HDMI (11)

Frage von Y3shix zum Thema Grafikkarten & Monitore ...