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

Text mit leerstelle übernehmen

Frage Entwicklung Batch & Shell

Mitglied: Aikal112

Aikal112 (Level 1) - Jetzt verbinden

03.12.2009, aktualisiert 14:15 Uhr, 2619 Aufrufe, 2 Kommentare

Hallo zusammen,

Ich versuche ein kleines batchfile zu schreiben. Habe schon das ganze Forum durchstöbert aber komm im moment einfach nicht weiter:

Hier mal das was ich dank des Forums bisher hinbekommen habe:

01.
for /f "tokens=1,* delims=:" %%i in ('findstr /n  $ h:\Datei.ini') do @( 
02.
for /L %%a in (3,1,3) do @if %%i==%%a @echo %%j)  
03.
 
04.
net send %domäne% %var% xyz 
05.
pause
Pause, damit ich sehe was passierst ist


Mit dem Befehl wird ja die 3. zeile der .ini ausgelesen. Nun bekomm ich es aber nicht hin, dass diese Zeile (z.B Name Vorname) mit der Leerstelle in eine Variable übernommen wird, um diese dann über den NetSend auszugeben

wenn ich am Ende noch do @set var=%%i mache, geschiet nichts, hatte es schon mal so änhlich dann wurde aber nur der Name ausgegeb ohne Vorname.


Ich hoffe ihr versteht was ich brauche und könnt mir weiter helfen.....


Im voraus schon mal vielen Dank


Mfg Tobias

________________________________________________

Kann nich atnworten darum hier als edit.....

Danke für die gute Antwort, hab deines mit eingebaut und noch n bisse lwas hinzugefügt, dass die Leerstelle mitgenommen wird..... Nun hab ich aber wider ein Prob, ich brauch noch ein 2. Feld

for /f "tokens=1,* delims=:" %%i in ('findstr /n $ h:\Datei.ini^|findstr /b "3: 6:" ') do set "var=%%j"
sc config messenger start= auto
net start Nachrichtendienst
set userlist=x y t
set sMsgText=%var% abcde
for %%a in (%userlist%) do net send %%a %sMsgText%
pause


Das läuft soweit aber wenn ich die stelle 6 (siehe oben) noch mitauslesen weill, gibt er mir nur die Zeile 6 aus ohne Zeile 3...... aber in cmd seh ich, dass er beides ausliest.
Was mach ich jetzt schon wider falsch.....


vorab nochmals danke für kommende Hilfe


Mfg Tobi


Erledigt

[Edit Biber] Codetags spendiert [/Edit]
Mitglied: bastla
03.12.2009 um 12:12 Uhr
Hallo Aikal112 und willkommen im Forum!

Eher so:
for /f "tokens=1,* delims=:" %%i in ('findstr /n $ h:\Datei.ini^|findstr /b "3:"') do set "var=%%j"
Grüße
bastla
Bitte warten ..
Mitglied: bastla
03.12.2009 um 20:31 Uhr
Hallo Aikal112!

Wenn Du mehrere Zeilen auf die gleiche Art verarbeiten willst, musst Du dies innerhalb der Schleife machen - in der obigen Version wird, da es ja nur eine Variable gibt, der Wert der Zeile 3 durch den Wert der Zeile 6 überschrieben.

Versuch es damit:
01.
set "userlist=x y t" 
02.
set "sMsgText=abcde" 
03.
for /f "tokens=1,* delims=:" %%i in ('findstr /n $ h:\Datei.ini^|findstr /b "3: 6:" ') do ( 
04.
    sc config messenger start= auto 
05.
    net start Nachrichtendienst 
06.
    for %%a in (%userlist%) do net send %%a %%j %sMsgText% 
07.
08.
pause
Grüße
bastla
Bitte warten ..
Ähnliche Inhalte
Microsoft Office
gelöst Excel VBA In Userform Maske Text nach Eingabe löschen (1)

Frage von kluthi69 zum Thema Microsoft Office ...

Datenbanken
gelöst Daten aus Excel in MS SQL Server übernehmen (7)

Frage von Balu418xx zum Thema Datenbanken ...

Outlook & Mail
Outlook 2016 löscht Text aus E-Mail beim senden (4)

Frage von Peacer zum Thema Outlook & Mail ...

Neue Wissensbeiträge
RedHat, CentOS, Fedora

Fedora, RedHat, Centos: DNS-Search Domain setzen

(13)

Tipp von Frank zum Thema RedHat, CentOS, Fedora ...

Drucker und Scanner

Samsung SL-M4025ND, firmware update und (kompatible) Tonerkassetten

(1)

Erfahrungsbericht von markus-1969 zum Thema Drucker und Scanner ...

Heiß diskutierte Inhalte
Windows 10
Windows für Privatanwender "nicht mehr handhabbar" (32)

Frage von FA-jka zum Thema Windows 10 ...

LAN, WAN, Wireless
Komplett neues Netzwerk, Ubiquiti WLAN, Router, Switch (15)

Frage von Freak-On-Silicon zum Thema LAN, WAN, Wireless ...

Backup
Backup Wochen- Monats- Jahressicherung (13)

Frage von Meterpeter zum Thema Backup ...

RedHat, CentOS, Fedora
Fedora, RedHat, Centos: DNS-Search Domain setzen (13)

Tipp von Frank zum Thema RedHat, CentOS, Fedora ...