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

Aus TXT bestimmte zeilen ändern

Frage Entwicklung Batch & Shell

Mitglied: djhanf

djhanf (Level 1) - Jetzt verbinden

12.09.2010, aktualisiert 19:51 Uhr, 3001 Aufrufe, 9 Kommentare

Hi

Hab ne frage und zwar habe ich eine txt datei die so aussieht.


Time
Time
mediaserver
mediaserver
Time
Victoria
merlin
merlin
admin

Ich hab jetzt zwei möglichkeiten mein probelm zu lösen

1 ich baue in mein programm eine bedingugn ein die heißt

wenn in zeile 1 " time" steht muss als variable %null% ausgegeben werden.

oder ich tu in das programm einen befehl zur änderung der txt rein der mir automatisch das wort von

" time" >> "%null%" ändert
vor dem time steht ein leerzeichen.

ich glaube variante 2 is besser für mich da ich eh schon eine txt auswertung davor am laufen habe.

hoffe ihr versteht mich
Mitglied: bastla
12.09.2010 um 20:38 Uhr
Hallo djhanf!

Bis Du Dich endgültig entschieden hast (und unter der Annahme, dass Du mit " time" die im Beispiel oben angeführte Zeile "Time" - aber eben mit führendem Leerzeichen - meinst), ein Vorschlag für Variante 1:
01.
@echo off & setlocal 
02.
:: 
03.
:: 
04.
set /p Zeile=<1.txt 
05.
if /i "%Zeile%"==" time" echo %null%
Soll " time" aber tatsächlich nur in Kleinbuchstaben erkannt werden, das "if" ohne "/i" verwenden, und falls es auch nach dem Wort noch (ev sogar eine unbekannte Anzahl von) Leerzeichen geben könnte, als Zeile 3
echo "%Zeile%"|findstr /b /c:"\" time">nul && echo %null%
einsetzen ...

[Edit] Da lt obigem Muster in den Zeilen keine Anführungszeichen vorkommen, auf die Schreibweise des Vergleiches mit Anführungszeichen geändert [/Edit]

Grüße
bastla
Bitte warten ..
Mitglied: djhanf
12.09.2010 um 20:49 Uhr
Hi sags ungerne aber

@echo off & setlocal
set /p Zeile=<pw.txt
if /i "%Zeile%"==" time" echo %null%

Funktioniert bei mir nicht.

txt sieht immernoch gleich aus also " Time" ändert sich nicht

Edit::.. Also "leerzeichenTime" ist immer so es wird nicht 1 leerzeichen mehr oder weniger sein
Bitte warten ..
Mitglied: bastla
12.09.2010 um 20:53 Uhr
Hallo djhanf!

Ich sag's auch nur ungern - aber Du wolltest %null% ausgeben, und mein Vorschlag bezog sich auf Deine Variante 1 ...

Wenn's also nun wirklich Version 2 sein soll, dann eben:
01.
@echo off & setlocal 
02.
:: 
03.
:: 
04.
set "Datei=pw.txt" 
05.
 
06.
set "DateiTemp=%temp%\Eine.tmp" 
07.
set /p Zeile=<"%Datei%" 
08.
copy "%Datei%" "%DateiTemp%">nul 
09.
if /i "%Zeile%"==" time" ( 
10.
    echo\%null% 
11.
    more +1 "%DateiTemp%" 
12.
)>"%Datei%" 
13.
del "%DateiTemp%"
[Edit] Zeile 9 an Dein "Edit" angepasst - und um Groß-/Kleinschreibung kannst Du Dich ja selbst kümmern bzw brauchst es in dieser Fassung nicht [/Edit]
[Edit2] Vorgangsweise noch etwas abgewandelt [/Edit2]

Sinnvoller wäre allerdings, den ganzen Zauber zu überspringen, wenn keine Änderung erforderlich ist, also etwa:
01.
@echo off & setlocal 
02.
:: 
03.
:: 
04.
set "Datei=pw.txt" 
05.
 
06.
set /p Zeile=<"%Datei%" 
07.
if /i "%Zeile%" neq " time" goto :Weiter 
08.
 
09.
set "DateiTemp=%temp%\Eine.tmp" 
10.
copy "%Datei%" "%DateiTemp%">nul 
11.
echo\%null%>"%Datei%" 
12.
more +1 "%DateiTemp%">>"%Datei%" 
13.
del "%DateiTemp%" 
14.
 
15.
:Weiter 
16.
:: 
17.
::
Grüße
bastla
Bitte warten ..
Mitglied: djhanf
12.09.2010 um 21:10 Uhr
@echo off & setlocal
set "Datei=pw.txt"
set /p Zeile=<"%Datei%"

copy "%Datei%" "Eine.tmp">nul
if /i "%Zeile%"==" Time" (echo %null% more +1 "Eine.tmp")>"%Datei%"
del "Eine.tmp"

Also irgendwie will das nicht so.

Gibt mir immer gleiche datei aus.

hab das %temp% rauß genommen weil die datein alle im gleichen ordner liegen
Bitte warten ..
Mitglied: bastla
12.09.2010 um 21:14 Uhr
Hallo djhanf!

So geht's natürlich auch - aber nur, wenn Du auch beide Befehle in der Klammer ausführst, also:
if /i "%Zeile%"==" Time" (echo %null% & more +1 "Eine.tmp")>"%Datei%"
Außerdem sollte Deine Variable %null% einen Inhalt haben (falls sie leer ist, kann mit "echo\%null%" eine Leerzeile erzeugt werden) ...

Grüße
bastla

P.S.: Wir hätten da eine passende Formatierung für gepostete Batches ...
Bitte warten ..
Mitglied: djhanf
12.09.2010 um 21:21 Uhr
%null% soll keine variable sein sonder die ausgabe vieleicht liegts daran
Bitte warten ..
Mitglied: bastla
12.09.2010 um 21:26 Uhr
Hallo djhanf!

Dann musst Du in einem Batch dafür aber
echo %%null%%
schreiben - ansonsten sollte das aber mit der vorhin geposteten Zeile schon funktionieren (tut's zumindest bei mir, wenn in der ersten Zeile tatsächlich " Time" - mit einem Leerzeichen davor und nix dahinter - steht) ...

Grüße
bastla

P.S.: Auch mit dem Batch weiter oben geht's ...
Bitte warten ..
Mitglied: djhanf
12.09.2010 um 21:33 Uhr
jetzt muss ich mich entschludigen..
du hast das stichwort genannt 1 zeile.
und zwar das mit der 1 zeile nur bei variante 1 aber in variante zwei meine ich suchen in jeder zeile der txt
Bitte warten ..
Mitglied: bastla
12.09.2010 um 21:42 Uhr
Hallo djhanf!

Wenn ich Dich jetzt (endlich) richtig verstehe, soll also aus
 Time 
Time 
mediaserver 
mediaserver 
 Time 
Victoria 
merlin 
merlin 
admin
dann
%null% 
Time 
mediaserver 
mediaserver 
%null% 
Victoria 
merlin 
merlin 
admin
werden? In diesem Fall dann eher so:
01.
@echo off & setlocal 
02.
set "Datei=pw.txt" 
03.
 
04.
set "DateiTemp=%temp%\Eine.tmp"  
05.
move "%Datei%" "%DateiTemp%">nul  
06.
for /f "usebackq delims=" %%i in ("%DateiTemp%") do set "Zeile=%%i" & call :ProcessLine 
07.
del "%DateiTemp%" 
08.
goto :eof 
09.
 
10.
:ProcessLine 
11.
if /i "%Zeile%"==" Time" ( 
12.
    >>"%Datei%" echo %%null%% 
13.
) else ( 
14.
    >>"%Datei%" echo %Zeile% 
15.
16.
goto :eof
wobei sich die Zeilen 11 - 15 auch kompakter schreiben lassen:
(if /i "%Zeile%"==" Time" (echo %%null%%) else (echo %Zeile%))>>"%Datei%"
Grüße
bastla
Bitte warten ..
Ähnliche Inhalte
PHP
TXT Datei auslesen und bestimmte Zeilen in Variable setzen
gelöst Frage von 126594PHP11 Kommentare

Hallo zusammen, vorweg muss ich sagen, ich bin (bis jetzt) absoluter Neuling was PHP angeht. Ich will aus einer ...

Batch & Shell
Batch: bestimmten string aus einer Zeile in txt löschen
Frage von Vit1985Batch & Shell4 Kommentare

Hallo, ich habe eine Textdatei und dort möchte ich einen bestimmten string löschen! Beispielzeile: Command: Hallo, wie Ich möchte ...

Batch & Shell
Batch - Bestimmter Inhalt einer Zeile aus einer txt oder ini als Variable
gelöst Frage von element22Batch & Shell2 Kommentare

Hallo zusammen, leider finde ich den Fehler nicht. Na gut, vielleicht sitzt er vorm Monitor, aber das ist etwas ...

Microsoft Office
Ecxel 2010 Macro txt import nur bestimmte Zeilen
gelöst Frage von BloodyRulzMicrosoft Office7 Kommentare

Hallo, ich hoffe das man mir helfen kann. Ich habe ein Makro aufgenommen welches mir eine txt Datei importiert, ...

Neue Wissensbeiträge
Internet

Was nützt HTTPS, wenn es auch von Phishing Web-Seiten genutzt wird

Information von Penny.Cilin vor 2 TagenInternet17 Kommentare

HTTPS richtig einschätzen Ob man eine Webseite via HTTPS aufruft, zeigt ein Schloss neben der Adresse im Webbrowser an. ...

Webbrowser

Bugfix für Firefox Quantum released - Installation erfolgt teilweise nicht automatisch!

Erfahrungsbericht von Volchy vor 3 TagenWebbrowser8 Kommentare

Hallo zusammen, gem. dem Artike von heise online wurde mit VersionFirefox 57.0.1 sicherheitsrelevante Bugs behoben. Entgegen der aktuellen Veröffentlichung ...

Sicherheit

Teamviewer Sessions können gekapert werden - Update tw. verfügbar

Information von sabines vor 4 TagenSicherheit6 Kommentare

In bestimmten Konstellationen können Teamviewer Sessions gekapert werden, wahrscheinlich aber ein recht unwahrscheinliches Szenario. Da der Teamviewer gerne für ...

Digitiales Fernsehen

Apple TV: Amazon Prime App ist verfügbar

Information von Frank vor 4 TagenDigitiales Fernsehen4 Kommentare

Die Amazon Prime Video App kann ab sofort auf einem Apple TV ab der 3 Generation installiert werden. Einfach ...

Heiß diskutierte Inhalte
Vmware
Installation Windows 10 VMware
Frage von Ghost108Vmware17 Kommentare

Hallo zusammen, versuche gerade mit Hilfe des vshpere clients eine virtuelle Windows 10 maschine aufzusetzen. 1. virtuelle Maschine erstellt ...

Exchange Server
SBS 2011 E-Mails können gesendet werden, aber nicht von extern empfangen
Frage von andreas1234Exchange Server14 Kommentare

Hallo Community, ich habe das Problem, dass seit knapp zwei Wochen die E-Mails von meinem SBS 2011 einwandfrei gesendet ...

Voice over IP
Telefonstörung - Ortsrufnummern kein Verbindungsaufbau
Frage von Windows10GegnerVoice over IP10 Kommentare

Hallo, sowohl bei uns als auch beim Opa ist es über VoIP nicht möglich Ortsrufnummern anzurufen. Es kommt nach ...

Windows Server
Server 2012 über Eingabeaufforderung devmgmt.msc geht nicht
gelöst Frage von achim222Windows Server9 Kommentare

Hallo, ich habe hier einen Server 2012 der im Reparaturmodus startet. Es liegt an einem falschen VirtIO Treiber für ...