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, 2253 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
LAN, WAN, Wireless
gelöst Batchdatei um einen Proxy einzustellen (14)

Frage von CrystalFlake zum Thema LAN, WAN, Wireless ...

Batch & Shell
gelöst Batchdatei für Aufgabenplanung zum Löschen von Backups (2)

Frage von Winuser zum Thema Batch & Shell ...

Neue Wissensbeiträge
Google Android

Cyanogenmod alternative Downloadquelle

(5)

Tipp von Lochkartenstanzer zum Thema Google Android ...

Batch & Shell

Batch als Dienst bei Systemstart ohne Anmeldung ausführen

(5)

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 ...

Heiß diskutierte Inhalte
Windows Server
gelöst Exchange HyperV Prozessorlast (19)

Frage von theoberlin zum Thema Windows Server ...

Hardware
16-20 Port POE Switch mit VLAN (19)

Frage von thomasreischer zum Thema Hardware ...

Windows Server
Server mit Netzwerkaussetzern (15)

Frage von SarekHL zum Thema Windows Server ...

Windows Userverwaltung
Nicht Administratoren Installation von Software erlauben (14)

Frage von WinLiCLI zum Thema Windows Userverwaltung ...