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

Übergebene Variable und Rest ausgeben?

Frage Entwicklung Batch & Shell

Mitglied: Thanquol

Thanquol (Level 1) - Jetzt verbinden

11.04.2008, aktualisiert 12:03 Uhr, 5856 Aufrufe, 3 Kommentare

Ahoi,

ich stehe grad vor folgendem "Problem"

ich hab eine :Funktion
die ich mittels
call :Funktion Parameter "langer String mit leerzeichen"
aufrufe!

Nun hab ich in der :Funktion
%1 = Parameter
%2 = "langer String mit leerzeichen"

Ich hätte %2 aber gern ohne leerzeichen, ohne den String nachträglich noch bearbeiten zu müssen.

Mittels:
call :Funktion Parameter langer String mit leerzeichen
erreiche ich:
%1 = Parameter
%2 = langer
%3 = String
%4 ....

Gibt es nun hier eine "Sondervariable" mit der ich %2-Rest aller übergebener Variablen anzeigen lassen kann?
Ich der mIRC "Programmiersprache" geht sowas mit $2-

Kennt Batch sowas auch?

Danke!
Mitglied: bastla
11.04.2008 um 07:51 Uhr
Hallo Thanquol!

Dazu brauchst Du eine Zerlegung mittels "for /f", also etwa:
01.
@echo off & setlocal 
02.
call :Funktion Parameter1 "langer String mit Leerzeichen" 
03.
goto :eof 
04.
 
05.
:Funktion 
06.
for /f "tokens=1*" %%i in ("%~2") do set "Anfang=%%i" & set "Rest=%%j" 
07.
echo %1 
08.
echo %Anfang% 
09.
echo %Rest% 
10.
goto :eof
Grüße
bastla
Bitte warten ..
Mitglied: tacker
11.04.2008 um 09:02 Uhr
Guten Tag

wen du nur die Leerzeichen aus dem String entfernen willst kannst du dich auch diesem command bedienen:

01.
set stringnachher=%stringvorher: =%
Dies würde dann so aussehen:
01.
@echo off & setlocal 
02.
call :Funktion Parameter1 "langer String mit Leerzeichen" 
03.
goto :eof 
04.
 
05.
:Funktion 
06.
set stringvorher=%2 
07.
set stringnachher=%stringvorher: =% 
08.
echo %1 
09.
echo.String_Vorher: %stringvorher% 
10.
echo.String_Nachher: %stringnachher% 
11.
goto :eof
natürlich noch potential zum komprimieren vorhanden...

Grüsse tacker
Bitte warten ..
Mitglied: Thanquol
11.04.2008 um 12:03 Uhr
Hiho,

danke für die Tipps,

aber der Befehl von Bastla:
%~2
macht exakt das was ich will ;)

auch ohne Vorschleife, oder sonstige Stringbearbeitung!
Bitte warten ..
Neuester Wissensbeitrag
Ähnliche Inhalte
C und C++
C-Sharp Variable Zuordnung (3)

Frage von Judo99 zum Thema C und C ...

Heiß diskutierte Inhalte
DSL, VDSL
gelöst DSL 200m verlängern (15)

Frage von Angela44 zum Thema DSL, VDSL ...

LAN, WAN, Wireless
Per Script auf UniFi-controller zugreifen und WPA2-Key ändern (11)

Frage von Winfried-HH zum Thema LAN, WAN, Wireless ...

Windows Server
SBS 2011 Standard virtualisieren (11)

Frage von HeinrichM zum Thema Windows Server ...

Exchange Server
gelöst DHCP Sever MS Server 2012 Problem (10)

Frage von Florian86 zum Thema Exchange Server ...