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 if abfrage ob variable eof ist

Frage Entwicklung

Mitglied: d3luxe

d3luxe (Level 1) - Jetzt verbinden

06.02.2009, aktualisiert 21:54 Uhr, 6233 Aufrufe, 4 Kommentare

Also ich programmiere derzeit an einer batch die ein passwort generieren soll die basis ist die eingabe eines textes des users dieser text wird in hex umgewandelt... das funktioniert soweit! Das ergebnis soll in eine textdatei und das alles in eine zeile wie ich das mache hab ich herausgefunden.. nur will die abfrage von eof nicht so wie ich weswegen das ganze nicht machbar ist..


@echo off
set /p ta=Geben sie den speicherort an, an dem das passwort gespeichert werden soll:
echo Bei saetzen bitte keine leerzeichen sonder - verwenden.
set /p va=Geben sie den zu uebersetzenden text ein:
SET _startchar=0
SET _length=1
SET _donor=%va%
:loop
CALL SET _substring=%%_donor:~%_startchar%,%_length%%%
echo %_substring%
if %_substring%==- set %vb%=20
if %_substring%==a set %vb%=61
if %_substring%==b set %vb%=62
if %_substring%==c set %vb%=63
if %_substring%==d set %vb%=64
if %_substring%==e set %vb%=65
if %_substring%==f set %vb%=66
if %_substring%==g set %vb%=67
if %_substring%==h set %vb%=68
if %_substring%==i set %vb%=69
if %_substring%==j set %vb%=6A
if %_substring%==k set %vb%=6B
if %_substring%==l set %vb%=6C
if %_substring%==m set %vb%=6D
if %_substring%==n set %vb%=6E
if %_substring%==o set %vb%=6F
if %_substring%==p set %vb%=70
if %_substring%==q set %vb%=71
if %_substring%==r set %vb%=72
if %_substring%==s set %vb%=73
if %_substring%==t set %vb%=74
if %_substring%==u set %vb%=75
if %_substring%==v set %vb%=76
if %_substring%==w set %vb%=77
if %_substring%==x set %vb%=78
if %_substring%==y set %vb%=79
if %_substring%==z set %vb%=7A
if %_substring%==1 set %vb%=31
if %_substring%==2 set %vb%=32
if %_substring%==3 set %vb%=33
if %_substring%==4 set %vb%=34
if %_substring%==5 set %vb%=35
if %_substring%==6 set %vb%=36
if %_substring%==7 set %vb%=37
if %_substring%==8 set %vb%=38
if %_substring%==9 set %vb%=39
if %_substring%==0 set %vb%=30
set varText=%vb%
if /I %_startchar% GEQ 1 set varText=%varText%%vb%
SET /a _startchar=%_startchar%+1
if %_substring%==eol goto next
goto loop
:next
echo %varText% >> %ta%\passwort.txt
echo ende >> %ta%\passwort.txt



Nach dem die eingabe umgesetzt wurde endet es.. ohne eol genutzt zu haben kann mir wer sagen wieso?

Edit:
Denkt euch die % bei %vb% weg war en versehen ^^ wird gleich ersetzt :D
Mitglied: bastla
06.02.2009 um 21:55 Uhr
Hallo d3luxe und willkommen im Forum!

Vielleicht so
if "%_substring%"=="" goto next
oder so
if not defined _substring goto next
Grüße
bastla
Bitte warten ..
Mitglied: d3luxe
06.02.2009 um 22:11 Uhr
Danke für deine Antwort bastla, leider geht das bei mir nicht.. ich werde jetzt das ganze bis zum fehler zurückverfolgen also sehr viel pause :D ich werd den beitrag gleich mit dem ergebnis editieren.

Edit:
Ok.. es endet bei den ganzen if abfragen wenn substring undefiniert is.. das heißt ich verschiebe jetzt ma das goto next und teste nochma ok :D
Bitte warten ..
Mitglied: bastla
06.02.2009 um 22:19 Uhr
Hallo d3luxe!

Falls ich Dein Vorhaben richtig interpretiere, sollte es eher so klappen:
01.
@echo off & setlocal 
02.
set /p ta=Geben sie den speicherort an, an dem das passwort gespeichert werden soll: 
03.
echo Bei saetzen bitte keine leerzeichen sonder - verwenden. 
04.
set /p va=Geben sie den zu uebersetzenden text ein: 
05.
 
06.
SET /a _startchar=0 
07.
SET /a _length=1 
08.
SET "_donor=%va%" 
09.
SET varText= 
10.
 
11.
:Loop 
12.
CALL SET _substring=%%_donor:~%_startchar%,%_length%%% 
13.
if not defined _substring goto :Fertig 
14.
 
15.
echo %_substring% 
16.
if %_substring%==- set "vb=20" 
17.
if %_substring%==a set "vb=61" 
18.
if %_substring%==b set "vb=62" 
19.
if %_substring%==c set "vb=63" 
20.
if %_substring%==d set "vb=64" 
21.
if %_substring%==e set "vb=65" 
22.
if %_substring%==f set "vb=66" 
23.
if %_substring%==g set "vb=67" 
24.
if %_substring%==h set "vb=68" 
25.
if %_substring%==i set "vb=69" 
26.
if %_substring%==j set "vb=6A" 
27.
if %_substring%==k set "vb=6B" 
28.
if %_substring%==l set "vb=6C" 
29.
if %_substring%==m set "vb=6D" 
30.
if %_substring%==n set "vb=6E" 
31.
if %_substring%==o set "vb=6F" 
32.
if %_substring%==p set "vb=70" 
33.
if %_substring%==q set "vb=71" 
34.
if %_substring%==r set "vb=72" 
35.
if %_substring%==s set "vb=73" 
36.
if %_substring%==t set "vb=74" 
37.
if %_substring%==u set "vb=75" 
38.
if %_substring%==v set "vb=76" 
39.
if %_substring%==w set "vb=77" 
40.
if %_substring%==x set "vb=78" 
41.
if %_substring%==y set "vb=79" 
42.
if %_substring%==z set "vb=7A" 
43.
if %_substring%==1 set "vb=31" 
44.
if %_substring%==2 set "vb=32" 
45.
if %_substring%==3 set "vb=33" 
46.
if %_substring%==4 set "vb=34" 
47.
if %_substring%==5 set "vb=35" 
48.
if %_substring%==6 set "vb=36" 
49.
if %_substring%==7 set "vb=37" 
50.
if %_substring%==8 set "vb=38" 
51.
if %_substring%==9 set "vb=39" 
52.
if %_substring%==0 set "vb=30" 
53.
 
54.
SET "varText=%varText%%vb%" 
55.
SET /a _startchar+=1 
56.
goto :Loop 
57.
 
58.
:Fertig 
59.
>>"%ta%\passwort.txt" echo %varText% 
60.
>>"%ta%\passwort.txt" echo ende
Grüße
bastla
Bitte warten ..
Mitglied: d3luxe
06.02.2009 um 22:29 Uhr
Danke, es funktioniert :D Ich hab es sogar noch selbst gelöst ^^ aber ohne deine abfrage hätte ichs nicht geschafft.


Ich makiere den beitrag als gelöst
Bitte warten ..
Neuester Wissensbeitrag
CPU, RAM, Mainboards

Angetestet: PC Engines APU 3a2 im Rack-Gehäuse

Erfahrungsbericht von ashnod zum Thema CPU, RAM, Mainboards ...

Ähnliche Inhalte
Batch & Shell
gelöst Batch Abfrage Vergleiche mit Variable goto (4)

Frage von Zunaras zum Thema Batch & Shell ...

Batch & Shell
gelöst Batch Variable setzten mit Leerzeichen (3)

Frage von Marlon1 zum Thema Batch & Shell ...

Batch & Shell
Batch: Variable Expansion in einer FOR-Schleife (9)

Frage von .Sessl zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Windows Server
DHCP Server switchen (25)

Frage von M.Marz zum Thema Windows Server ...

Grafikkarten & Monitore
Win 10 Grafikkarte Crash von Software? (13)

Frage von Marabunta zum Thema Grafikkarten & Monitore ...

Router & Routing
gelöst Empfehlung günstiges ADSL2+ nur Modem (10)

Frage von TimMayer zum Thema Router & Routing ...

Server-Hardware
Lenovo Server System X 3650 M5 Festplatten (9)

Frage von Hendrik2586 zum Thema Server-Hardware ...