Top-Themen

Aktuelle Themen (A bis Z)

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 Bestimmtes Wort per Batch aus einem Textdokument entfernen

Mitglied: bl4ckOut

bl4ckOut (Level 1) - Jetzt verbinden

06.08.2012 um 19:23 Uhr, 3905 Aufrufe, 8 Kommentare

Hallo allerseits,
ich weiß, dass meine Frage (hier) schon oft gestellt wurde und ich würde sie nicht nochmals stellen, wenn ich bereits eine Lösung gefunden hätte ! Ich habe bei der Arbeit den ganzen Tag versucht mit verschiedensten Ansätzen, aus vielen Themen, hier im Forum eine Antwort herzuleiten.

Ich habe im Ordner "C:\alt" das Textdokument "model.txt",

mit folgendem Inhalt :
01.
Name 
02.
TM8573

Jetzt muss "Name" aus dem Textdokument per Batch entfernt werden, (es darf dabei auch keine Leerzeile entstehen), sodass das Dokument folgendermaßen aussieht:

01.
TM8573
Das ist das Ziel !


/ Folgender Hintergrund dazu /
TM8573 steht für die Modellnummer meines Laptops, den ich automatisch in das Textdokument einfügen lasse durch diesen Befehl in der Batch File:

01.
wmic csproduct get name >> C:\alt\model.txt
Dabei wird leider "Name" noch in der ersten Zeile eingefügt.
Ich brauche aber die Modellnummer alleine, da ich diese als Variable nutze mit:
01.
set /p VARIABLE = < C:\alt\model.txt
Diese Variable nutze ich dann, um verschiedene .html Dokumente umzubenennen. Dies muss ich bei allen Mitarbeitern in meinem Unternehmen machen mit noch anderen Informationen.
Bsp.:
01.
ren \Mitarbeiter\keys.html %username%_%PROCESSOR_ARCHITECTURE%_%VARIABLE%.html
Den Rest des Batch Scripts hab ich allerdings schon fertig.
Lediglich hier hakt es noch !
/ Hintergrund Ende /

Hoffentlich habt ihr mich verstanden.
Der Hintergund ist nicht so wichtig.
Nur zum Verständniss vielleicht, warum ich das brauche.

Grüße
bl4ckOut



Mitglied: rubberman
06.08.2012 um 20:04 Uhr
Hallo bl4ckOut, willkommen im Forum.

Ich will dir das Entfernen der ersten Zeile nicht ausreden, aber einfache ginge es mit einer FOR /F Schleife.

for /f "skip=1 delims=" %%i in ('type "C:\alt\model.txt"') do set "VARIABLE=%%i"
Eigentlich könntest du den WMIC Output auch direkt verwursten ...

Grüße
rubberman
Bitte warten ..
Mitglied: Biber
06.08.2012, aktualisiert 07.08.2012
Moin bl4ckOut,

willkommen im Forum.

Von den vielen Lösungsmöglichkeiten wären am einfachsten Variante a):

a) Schreib den Output ohne die Zeile mit "Name" in eine Datei (wenn das sinnvoll ist, die Datei überhaupt zu schreiben)
wmic csproduct get name|find /v "Name">>D:\eineDatei.txt

b) die naheliegende Variante
for /f "delims=" %%i in ('wmic csproduct get name') do set "derNameIs=%%i"
... funktioniert leider beim Test unter Windows 7 nicht, da der WMIC-Output weder mit der Zeile 2 endet noch mit CRLF
(sondern mit CRCRLF oder ähnlichem Grützkrams).

c) Somit müsstest du es als

for /f "delims=" %%i in ('wmic csproduct get name^|find /v "Name" ') do @if not defined derNameIs set "derNameIs=%%i"
...schreiben, um es in die Variable %derNameIs% zu speichern... und das sieht ja schon eher nach Potsdamer Hütchenspielern aus als nach einem wartbaren Oneliner.

Grüße
Biber
Bitte warten ..
Mitglied: bl4ckOut
06.08.2012 um 21:28 Uhr
Danke euch Beiden erstmal !

Deine Variante a ist super, daran habe ich gar nicht gedacht bzw. wusste gar nicht, dass es diese Möglichkeit auch gibt.

Nun habe ich aber ein neues Problem..
ich wollte ja mit:
01.
set /p VARIABLE = < C:\alt\model.txt
Die Modellnummer "TM8573" ausmodel.txt der VARIABLEN zuordnen.
Allerdings klappt der Befehl in der Batch nicht. Wenn ich jedoch die Befehle nacheinander in der Konsole eingebe, ordnet er die Variable korrekt zu.

In der Batch verändert die Konsole den Befehl folgendermaßen (was ich durch "pause" sehen kann):
01.
C:\Users\...>set /p Variable =  0<C:\alt\model.txt
Das gibt mir ein Rätsel auf, da der Befehl eigentlich korrekt ist.


Über "set VARIABLE" sagt er mir, dass sie nicht definiert sei.

Ist der Befehl falsch ?
Bitte warten ..
Mitglied: Biber
06.08.2012, aktualisiert 07.08.2012
Moin bl4ckOut,

Ist der Befehl falsch ?
Nein, aber er wird halt ohne Murren und Rückfragen buchstabengetreu ausgeführt.

Und es wird deshalb nicht die Variable "%VARIABLE%" befüllt, sondern die Variable "%VARIABLE{leerzeichen}%"

Lass alle (optisch-ästhetisch durchaus gerechtfertigten) Leerzeichen weg in der SET /P-Zeile.
nich' so: set /p VARIABLE = < C:\alt\model.txt

Sondern : set /p VARIABLE=<C:\alt\model.txt

Auch wenn es ein wenig hölzern und streng katholisch anmutet.

Grüße
Biber
Bitte warten ..
Mitglied: bl4ckOut
06.08.2012 um 21:58 Uhr
Super, nochmal vielen Dank.
Ja es klingt halt nach batch.

Das dumme ist jetzt nur, dass in model.txt nach der Modelnummer noch Leerzeichen erstellt, die er natürlich auch als Variable speichert. Wenn ich meine Datei dann umbenennen will, macht er das natürlich nicht wegen dem Syntaxfehler.
Damits deutlich wird:
01.
ren C:\Mitarbeiter\keys.html MustermannMax_AMD64_TM8573   .html
--> Syntaxfehler
Kriegt man die Leerzeichen iwie noch weg ?

Müsste man deine Variante a bearbeiten oder ?
Bitte warten ..
Mitglied: bastla
06.08.2012, aktualisiert um 22:11 Uhr
Hallo bl4ckOut und willkommen im Forum auch von mir!

Da ja letztlich der Name in eine Variable soll, würde ich doch zu Variante b) raten - wenn die Namen keine Leerzeichen beinhalten, vereinfacht als
for /f %%i in ('wmic csproduct get name') do set "Variable=%%i"
- zumindest bei meinem Test mit XP genügt das schon ...

... ansonsten zusätzlich zu a):
for /f %%i in ("%Variable%") do set "Variable=%%i"
Grüße
bastla
Bitte warten ..
Mitglied: bl4ckOut
06.08.2012 um 22:15 Uhr
Ihr seid die besten !
Jetzt passt alles perfekt.
Vielen, vielen Dank bastla, Biber und rubberman.

Liebe Grüße

bl4ckOut
Bitte warten ..
Mitglied: pieh-ejdsch
07.08.2012 um 00:16 Uhr
moin,

falls dieses Grützkrams noch irgenwem zu schaffen macht. ZB. in Win 7.

Mit einer Zweiten Ausgabe und auf csv Getrimmt lässt sich im entsprechenden Token die Ausgabe schön Formatieren.
Test auf der CMD-Line
01.
for /f "tokens=2 delims=," %i in ('"wmic csproduct get name,version" /Format:csv ^|more +2 ^|findstr /n .') do @echo "%i"
Ohne diesen Abschliessenden Leerzeichenkrams und das dafvorgewurstelle Zeugs.

Gruß Phil
Bitte warten ..
Ähnliche Inhalte
Batch & Shell

Batch bei bestimmten Wörtern jeweilige Zeile entfernen

gelöst Frage von Beginner01Batch & Shell19 Kommentare

Hallo an Alle, ich bin mal wieder einer derjenigen, die einfach keine Ahnung haben und Alles haben wollen ;-) ...

Batch & Shell

Batch Leerzeichen in nur bestimmten Spalten entfernen?

gelöst Frage von Komoran12Batch & Shell2 Kommentare

Hallo, erstmal allen ein schönes Pfingstwochenende!:) Ich suche gerade nach einer Möglichkeit per Batch in einer Csv mit mehrerer ...

Windows Server

Kann man bestimmte Wörter in den Kennwortrichtlinien sperren?

Frage von AndreasOCWindows Server3 Kommentare

Hallo zusammen, bestimmte Mitarbeiter bei uns nutzen nicht gerade sichere Kennwörter, obwohl ich "Komplexitätsvorraussetzunhrn" aktiviert habe. Habe ich eine ...

Windows Userverwaltung

Bestimmte Wörter für Benutzerpasswörter blocken

gelöst Frage von CortaXWindows Userverwaltung8 Kommentare

Hallo Leute, Gibt es eine Möglichkeit, dass ich bestimmte Wörter blockiere damit diese nicht als User Kennwort eingesetzt werden? ...

Neue Wissensbeiträge
Windows 10

USB Maus und Tastatur versagen Dienst unter Windows 10

Erfahrungsbericht von hardykopff vor 1 TagWindows 105 Kommentare

Da steht man ziemlich dumm da, wenn der PC sich wegen fehlender USB Tastatur und Maus nicht bedienen lässt. ...

Administrator.de Feedback
Update der Seite: Alles zentriert
Information von Frank vor 1 TagAdministrator.de Feedback18 Kommentare

Hallo User, die größte Änderung von Release 5.8 ist das Zentrieren der Webseite (auf großen Bildschirmen) und ein "Welcome"-Teaser ...

Humor (lol)

WhatsApp-Nachrichten endlich auch per Bluetooth versendbar

Information von BassFishFox vor 2 TagenHumor (lol)4 Kommentare

Genau darauf habe ich gewartet! ;-) Der beliebte Messaging-Dienst WhatsApp erhält eine praktische neue Funktion: Ab dem nächsten Update ...

Google Android

Googles "Android Enterprise Recommended" für Unternehmen

Information von kgborn vor 2 TagenGoogle Android3 Kommentare

Hier eine Information, die für Administratoren und Verantwortliche in Unternehmen, die für die Beschaffung und das Rollout von Android-Geräten ...

Heiß diskutierte Inhalte
Windows Netzwerk
WSUS4 und Windows 10 Updates automatisch installieren
Frage von sammy65Windows Netzwerk15 Kommentare

Hallo miteinander, ich habe mit einen neuen WSUS Server aufgesetzt Server 2016 darauf einen aktuellen WSUS. Grund, wir stellen ...

Speicherkarten
Vergessliche USB-Sticks?
Frage von hanheikSpeicherkarten14 Kommentare

Ich habe in den letzten Tagen 500 USB-Sticks mit Bilddateien bespielt. Obwohl ich die Dateien mit größter Sorgfalt kopiert ...

Hyper-V
Hyper-V mit altem XEON-Server. Was ist falsch?
Frage von LollipopHyper-V11 Kommentare

Hallo Bin etwas frustriert. Kleinbetrieb, ca. 15 PC's, 2 Stk. Server mit einigen virtuellen PC's für Fernwartung, VaultServer für ...

Windows Server
NTFS Berechtigungen Ordnerstruktur
Frage von hukahu23489Windows Server11 Kommentare

Hallo, ich bin seit kurzem in einer neuen IT-Abteilung und bin über das Berechtigungskonzept des Unternehmens sehr schockiert. Ich ...