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

Einen Parameter von einen DOS Batch an einen anderen Batch übergeben und dann je nach Parameter einen Wert zuweisen

Frage Entwicklung Batch & Shell

Mitglied: tommhii

tommhii (Level 1) - Jetzt verbinden

04.11.2010 um 14:30 Uhr, 7194 Aufrufe, 6 Kommentare

Hallo,
ich möchte einen Parameter %1 den ich aus einen anderen DOS Batch übergeben bekommen hab einen Wert zu weisen

Hallo,

ich bekomm aus dem vorher gehenden Batch einen Parameter %1 der den Inhalt MV ,AC oder BI haben kann.
Nun möchte ich den Parameter %1 abfragen welchen Inhalt er hat und je nach Inhalt einen Wert zu weisen MV --> -u, AC ---> -t,BI --->-b

so sieht mein 2. Batch aus aber leider passt aber da etwas nicht.


@echo off
cls
if "%1"=="AC" GOTO m66 Kommentar wenn %1 gleich AC als Inhalt hat, dann springe nach m66 und setze für den Parameter para den Wert "-t" usw.
:m66
set "para=-t"
goto m99
if "%1"=="MV" GOTO m77
:m77
set "para=-u"
goto m99
if %1==BI GOTO m88
:m88
set "para=-b"
:m99
echo %1
echo %para%
pause

aber irgendwie bekomm ich das nicht hin

hat jemand eine Idee
Danke erstmal
Mitglied: BigWim
04.11.2010 um 14:59 Uhr
Hallo tommhii

ich schätze mal (blind), dass es ein Problem der Groß/Kleinschreibung ist. Deshalb habe ich mal ein /i davor gesetzt, dann ist es nämlich egal

Ansonten würde ich das so schreiben

01.
cls 
02.
set "para=dat war nix" 
03.
if /i "%1"=="AC" set "para=-t" 
04.
if /i "%1"=="MV" set "para=-u" 
05.
if /i "%1"=="BI" set "para=-b" 
06.
echo %1  
07.
echo %para%
Markus
Bitte warten ..
Mitglied: 60730
04.11.2010 um 15:04 Uhr
Moin,

problembatche mit @echo off krieg ich auch nen rgc counter?

zur Frage - nein das geht nicht. %1 ist %1 und bleibt es auch.

if "%1"=="AC" GOTO m66
macht keinen Sinn, weil egal was %1 wäre m66 der nächste Schritt ist.
if %1==BI GOTO m88
gleiches Spiel
Ps: bei Sprungzielen, die extern angesprochen werden macht sich das Prinzip Übergabe==Sprungname sinnvoll bemerkbar.

01.
if not /i "%1"=="" goto %1 
02.
echo schit happens & pause 
03.
goto end 
04.
 
05.
:AC 
06.
set "para"="-t" 
07.
echo %para% 
08.
pause 
09.
:end
gruß

edit - mein Cache spinnt..... Da war Bigwim ja schon längst dran.../edit
Bitte warten ..
Mitglied: BigWim
04.11.2010 um 16:00 Uhr
Zitat von 60730:

@TimoBeil
edit - mein Cache spinnt..... Da war Bigwim ja schon längst dran.../edit
Ein Glück!

Auf diese Idee bin ich auch noch nicht gekommen!


01.
if not /i "%1"=="" goto %1

Danke!
Markus
Bitte warten ..
Mitglied: Biber
04.11.2010 um 16:42 Uhr
Ja nee, BigWim,

Zitat von BigWim:
Auf diese Idee bin ich auch noch nicht gekommen!
01.
 if not /i "%1"=="" goto %1
Das ist aber superwackelig....
-> wenn ich als Parameter %1 "Goldhamster" übergebe, springt er dann zum Label :Goldhamster?
Okay, wenn ich als Parameter "Grütze", "Nesseln" oder "Kreissäge" übergebe, dann landet er genau dort, aber sonst nicht.

Dann doch lieber sowohl einen leeren wie auch alle verkehrten Parameter ausschliessen.

01.
... 
02.
For %%i in (m66,m77,m99) do @if /i "%%i"=="%~1" Goto :%%i 
03.
goto :Tilt 
04.
 
05.
:m66 
06.
echo m66fall ... 
07.
goto :eof 
08.
 
09.
:m77 
10.
echo m77fall ... 
11.
goto :eof 
12.
... 
13.
:Tilt 
14.
echo Tiltemacht...
Grüße
Biber
Bitte warten ..
Mitglied: BigWim
04.11.2010 um 17:24 Uhr
Hallo Biber,

vielen Dank für die Klarstellung. Habe ich verstanden - und schon wieder was zum forschen gefunden

01.
For ... =="%~1" ....
Markus
Bitte warten ..
Mitglied: tommhii
05.11.2010 um 08:43 Uhr
Super Idee klappt prima

danke Euch nochmal für die Hilfe
Bitte warten ..
Neuester Wissensbeitrag
Ähnliche Inhalte
Batch & Shell
gelöst Batch: Variable einen Wert zuweisen (7)

Frage von sascha382 zum Thema Batch & Shell ...

Windows Server
gelöst Eventlog gesperrtes Konto, Konto als Parameter übergeben (10)

Frage von pablovic zum Thema Windows Server ...

Heiß diskutierte Inhalte
Windows Userverwaltung
Ausgeschiedene Mitarbeiter im Unternehmen - was tun mit den AD Konten? (33)

Frage von patz223 zum Thema Windows Userverwaltung ...

LAN, WAN, Wireless
FritzBox, zwei Server, verschiedene Netze (21)

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

Viren und Trojaner
Aufgepasst: Neue Ransomware Goldeneye verbreitet sich rasant (20)

Link von Penny.Cilin zum Thema Viren und Trojaner ...

Windows Netzwerk
Windows 10 RDP geht nicht (18)

Frage von Fiasko zum Thema Windows Netzwerk ...