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

Notebook & Zubehör
Erster Vergleich: MacBook Pro und Surface Book

Link von runasservice zum Thema Notebook & Zubehör ...

Batch & Shell
gelöst RegEx in M3U (4)

Frage von mguenth83 zum Thema Batch & Shell ...

Neue Wissensbeiträge
Windows Tools

Zeit für Energiesparmodus, Bildschirmabschaltung etc. schnell anpassen

Anleitung von hannsgmaulwurf zum Thema Windows Tools ...

Linux Netzwerk

Ping und das einstellbare Bytepattern

(1)

Erfahrungsbericht von LordGurke zum Thema Linux Netzwerk ...

Windows Update

Microsoft Update KB4034664 verursacht Probleme mit Multimonitor-Systemen

(4)

Tipp von beidermachtvongreyscull zum Thema Windows Update ...

Heiß diskutierte Inhalte
Microsoft Office
Office Druck fehler (18)

Frage von DaistwasimBusch zum Thema Microsoft Office ...

Windows Server
Zertifikat am DC erneuern funktioniert nicht (13)

Frage von takvorian zum Thema Windows Server ...