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

Frage Entwicklung Batch & Shell

Mitglied: bl4ckOut

bl4ckOut (Level 1) - Jetzt verbinden

06.08.2012 um 19:23 Uhr, 3881 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
MikroTik RouterOS

Mikrotik - Lets Encrypt Zertifikate mit MetaROUTER Instanz auf dem Router erzeugen

Anleitung von colinardo vor 15 StundenMikroTik RouterOS5 Kommentare

Einleitung Folgende Anleitung ist aus der Lage heraus entstanden das ein Kunde auf seinem Mikrotik sein Hotspot Captive Portal ...

Sicherheit

Sicherheitslücke in HP-Druckern - Firmware-Updates stehen bereit

Information von BassFishFox vor 15 StundenSicherheit1 Kommentar

Ein weiterer Grund, dass Drucker keinerlei Verbindung nach "auswaerts" haben sollen. Unter Verwendung spezieller Malware können Angreifer aus der ...

Administrator.de Feedback

Entwicklertagebuch: Die Startseite wurde überarbeitet

Information von admtech vor 17 StundenAdministrator.de Feedback9 Kommentare

Hallo Administrator User, mit dem Release 5.7 haben wir unsere Startseite überarbeitet und die Beiträge und Fragen voneinander getrennt. ...

Vmware

VMware Desktopprodukte sind verwundbar

Information von Penny.Cilin vor 22 StundenVmware

Die VMware-Anwendungen zum Umgang mit virtuellen Maschinen Fusion, Horizon Client und Workstation sowie die Plattform NSX sind verwundbar. Davon ...

Heiß diskutierte Inhalte
Windows Netzwerk
Netzwerk Neustrukturierung
Frage von IT-DreamerWindows Netzwerk16 Kommentare

Hallo verehrte Community und Admins, bei uns im Haus steht eine Neustrukturierung an. Dafür benötige ich von euch ein ...

Windows Server
RDP macht Server schneller???
Frage von JaniDJWindows Server16 Kommentare

Hallo Community, wir betrieben seit geraumer Zeit diverse virtuelle Maschinen und Server mit Windows Server 2012. Leider haben wir ...

Festplatten, SSD, Raid
USB Stick recovery
Frage von petereFestplatten, SSD, Raid15 Kommentare

Hallo, ich habe einen defekten USB-Stick, der nicht mehr lesbar ist. Er wird in WIN als unbekanntes Volume mit ...

Windows 10
Windows 10 dunkler Bildschirm nach Umfallen
Frage von AkcentWindows 1015 Kommentare

Hallo, habe hier einen Windows 10 Rechner der von einem User umgefallen wurde (Beine übers Knie, an den PC ...