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

Parameter einer Batchdatei aufschlüsseln

Frage Entwicklung Batch & Shell

Mitglied: Turrex0100

Turrex0100 (Level 1) - Jetzt verbinden

12.06.2012, aktualisiert 12:52 Uhr, 2263 Aufrufe, 2 Kommentare

Hallo Zusammen,

Ich komme mal direkt zu meiner Frage, also ich habe eine Batchdatei an die ich gerne parameter in der form
01.
batch.bat eins=1 zwei=2
übergeben würde...

Die anzahl der Parameter ist dabei aber immer unterschiedlich,

meine frage ist nun wie ich die parameter so aufteilen kann das ich nachher in der Batchdatei die Variablen nach dem schema:
01.
set "1_1=eins" 
02.
set "1_2=1" 
03.
 
04.
set "2_1=zwei" 
05.
set "2_2=2"
...usw

Für eure Hilfe wäre ich sehr dankbar,

Grüße Malte.
Mitglied: bastla
12.06.2012, aktualisiert um 13:21 Uhr
Hallo Turrex0100!

Grundsätzlich halte ich ja eher weniger davon, Variablen der Art "1_1" zu verwenden, aber das sollte sich im einfachsten Fall etwa so lösen lassen:
01.
@echo off & setlocal 
02.
set /a PNr=1 
03.
set /a WNr=1 
04.
for %%i in (%*) do call :ProcessParam %%i 
05.
:: ab hier Verarbeitung 
06.
:: 
07.
:: Ende Hauptprogramm 
08.
goto :eof 
09.
 
10.
:ProcessParam 
11.
echo "%~1"|findstr "=">nul && ( 
12.
    for /f "tokens=1* delims==" %%a in ("%~1") do ( 
13.
        set "%PNr%_1=%%~a" 
14.
        set "%PNr%_2=%%~b" 
15.
16.
    set /a PNr+=1 
17.
    set /a WNr=1 
18.
) || ( 
19.
    set "%PNr%_%WNr%=%~1" 
20.
    set /a WNr+=1 
21.
    if %WNr% geq 2 ( 
22.
        set /a PNr+=1 
23.
        set /a WNr=1 
24.
25.
26.
goto :eof
Die unterschiedliche Behandlung der einzelnen Parameter(teile) ist erforderlich, da "=" als Trennzeichen interpretiert wird, wenn nicht das "Parameter-Werte-Paar" unter Anführungszeichen übergeben wird ...

Grüße
bastla
Bitte warten ..
Mitglied: Turrex0100
12.06.2012 um 13:35 Uhr
Hallo Bastla,

Danke für die schnelle Hilfe!

Das Programm tut das was es soll, ich gebe dir recht das die bezeichnung der Variablen etwas unelegant ist,
da werde ich mir noch was feineres einfallen lassen ;)

Gruß Malte.
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
gelöst New-ADUser (optional Parameter) (13)

Frage von mc-doubleyou zum Thema Batch & Shell ...

Batch & Shell
gelöst Parameter für plink-Aufruf (4)

Frage von trobonarf zum Thema Batch & Shell ...

Batch & Shell
Batchdatei auf einem Server ausführen mit psexec.exe (18)

Frage von imebro zum Thema Batch & Shell ...

Windows Server
Net time ohne Parameter (5)

Frage von BPeter zum Thema Windows Server ...

Neue Wissensbeiträge
Windows Server

Umstellung SHA 1 auf SHA 2 - Migration der CA von CSP auf KSP

Tipp von Badger zum Thema Windows Server ...

Windows 10

Quato DTP94 unter Windows 10 x64 installieren und verwenden

Anleitung von anteNope zum Thema Windows 10 ...

Windows 10

Win10 1703 und Nutzerkennwörter bei Ersteinrichtung - erstaunliche Erkenntnis

(15)

Erfahrungsbericht von DerWoWusste zum Thema Windows 10 ...

Heiß diskutierte Inhalte
Internet
gelöst Jeden morgen Internet-Probleme (58)

Frage von pjrtvly zum Thema Internet ...

DSL, VDSL
VDSL Signal via PowerLine an Fritzbox - Möglich? (19)

Frage von Seichobob zum Thema DSL, VDSL ...

Windows Server
Benutzer sperrt sich immer wieder im Active Directory Contoller (16)

Frage von Kirdy1301 zum Thema Windows Server ...