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

SHIFT trennt Kommandozeilenargument mit Wertzuweisung auf

Frage Entwicklung Batch & Shell

Mitglied: Schnulle500

Schnulle500 (Level 1) - Jetzt verbinden

25.05.2009, aktualisiert 10:22 Uhr, 2763 Aufrufe, 3 Kommentare

Bekomme die Kommendozeilenargumente bei folgendem Aufruf nicht auseinander:
test.bat "C:\My Folder\out.txt" arg1=5 argx=y

test.bat:
01.
@echo off 
02.
:NEXT_CMDLINE_ARG 
03.
IF NOT "%~1"=="" ( 
04.
  ECHO %~1 
05.
  SHIFT 
06.
  GOTO NEXT_CMDLINE_ARG 
07.
)
Ist-Output:
01.
C:\My Folder\out.txt 
02.
arg1 
03.
04.
argx 
05.
y
Soll-Output:
01.
C:\My Folder\out.txt 
02.
arg1=5 
03.
argx=y
Kann mir hier bitte jemand helfen?
Mitglied: Biber
25.05.2009 um 10:43 Uhr
Moin Schnulle500,

in diesem Fall (wenn ein Argument ein Gleichheitszeichen enthält) musst du es ausdrücklich als EIN Argument kennzeichnen, indem Du es in Anführungszeichen einbettest.

Demo:
01.
(=10:38:17  D:\temp=) 
02.
>test C:\myfolder\out.txt arg1=5 argx=y 
03.
C:\myfolder\out.txt 
04.
arg1 
05.
06.
argx 
07.
08.
 
09.
 
10.
(=10:38:41  D:\temp=) 
11.
>test C:\myfolder\out.txt "arg1=5" "argx=y" 
12.
C:\myfolder\out.txt 
13.
arg1=5 
14.
argx=y
ist zusätzlich noch ein Teil des Arguments selbst in Anführungszeichen, dann entsprechend:
01.
>test C:\myfolder\out.txt "arg1=5" "argx="y"" 
02.
C:\myfolder\out.txt 
03.
arg1=5 
04.
argx="y"
Grüße
Biber
Bitte warten ..
Mitglied: Schnulle500
25.05.2009 um 11:21 Uhr
OK, vielen Dank.

So weit hatte ich's schon, konnte es aber nicht glauben, dass das wirklich nicht geht.

Bis dann
Schnulle500
Bitte warten ..
Mitglied: LotPings
25.05.2009 um 11:30 Uhr
Hallo Schnulle500,
die Standard Delimiter auf der Kommandozeile sind Komma Semikolon Leer Gleichheitszeichen und TAB.

Aber du kannst ja die Kommandozeile selber dekodieren

Alle Argumente ungetrennt kriegst du mit %*
Parsen musst du dann halt selber.

Gruß
LotPings
Bitte warten ..
Ähnliche Inhalte
Notebook & Zubehör
Laptop schreibt groß weiter, obwohl Shift losgelassen wurde (6)

Frage von Yauhun zum Thema Notebook & Zubehör ...

Neue Wissensbeiträge
Sicherheits-Tools

Sicherheitstest von Passwörtern für ganze DB-Tabellen

(1)

Tipp von gdconsult zum Thema Sicherheits-Tools ...

Peripheriegeräte

Was beachten bei der Wahl einer USV Anlage im Serverschrank

(8)

Tipp von zetboxit zum Thema Peripheriegeräte ...

Windows 10

Das Windows 10 Creators Update ist auf dem Weg

(6)

Anleitung von BassFishFox zum Thema Windows 10 ...

Heiß diskutierte Inhalte