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, 2761 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 ..
Neuester Wissensbeitrag
Exchange Server

WSUS bietet CU22 für Exchange 2007 SP3 nicht an. EOL Exchange 2007

Tipp von DerWoWusste zum Thema Exchange Server ...

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

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

Heiß diskutierte Inhalte
Batch & Shell
gelöst Batch xls nach aktuellem Datum auslesen und email senden (14)

Frage von michi-ffm zum Thema Batch & Shell ...

Exchange Server
Test-ActiveSyncConnectivity Error nach neuem Zertifikat (13)

Frage von Driphex zum Thema Exchange Server ...

Backup
Datensicherung ARCHIV (12)

Frage von fautec56 zum Thema Backup ...