Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen (A bis Z)

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, 2267 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
Humor (lol)

Wo ist der Fehler auf dem Bild?

(17)

Information von the-buccaneer zum Thema Humor (lol) ...

Windows Update

Offenbar erneutes MS-Update mit Fehlerschleife (2012 R2)

Information von VGem-e zum Thema Windows Update ...

Windows Installation

Unorthodoxer Weg, um an einen Offline-Installer für Adobe Flash zu kommen

(14)

Tipp von beidermachtvongreyscull zum Thema Windows Installation ...

Heiß diskutierte Inhalte
Lizenzierung
Programm soll in verschiedenen Versionen lizenziert sein (20)

Frage von Yanmai zum Thema Lizenzierung ...

Humor (lol)
Wo ist der Fehler auf dem Bild? (17)

Information von the-buccaneer zum Thema Humor (lol) ...

Windows Userverwaltung
Ordner-Rechte für Dom.Admin einschränken? (13)

Frage von kilobyte zum Thema Windows Userverwaltung ...