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, 5870 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 ..
Ähnliche Inhalte
Microsoft Office
gelöst Excel 2010 Makro Ausgabe in bestimmter Tabelle ausgeben (6)

Frage von dressa zum Thema Microsoft Office ...

VB for Applications
gelöst Bestimmtes Arrayfeld mit Variable aufrufen? - VBS (10)

Frage von gabrixl zum Thema VB for Applications ...

Neue Wissensbeiträge
Administrator.de Feedback

Umgangsformen auf der Seite

(7)

Information von Frank zum Thema Administrator.de Feedback ...

Windows 10

Windows 8.x oder 10 Lizenz-Key aus dem ROM auslesen mit Linux

(10)

Tipp von Lochkartenstanzer zum Thema Windows 10 ...

Heiß diskutierte Inhalte
Batch & Shell
gelöst Dir tc Befehl unter Windows 10 macht Probleme (14)

Frage von sugram zum Thema Batch & Shell ...

Windows Server
Windows Server 2016 RDS Remoteapp Anzeigefehler (11)

Frage von qlnGenius zum Thema Windows Server ...

Windows Server
Festplatten Ruhezustand Windows Server 2016 (10)

Frage von ahaeuser zum Thema Windows Server ...