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

Text verändern funktioniert, aber Leerzeilen und Kommentare verschwinden

Frage Entwicklung Batch & Shell

Mitglied: 42583

42583 (Level 1)

26.09.2007, aktualisiert 27.09.2007, 3462 Aufrufe, 3 Kommentare

Habe eine *.ini Datei, die ich per Script ändern möchte. Habe hier nach "Text ändern/austauschen" gesucht und das Passende gefunden. Es wird mittels FOR Schleife ausgelesen und in dem neuen Dokument die Wunschdaten eingetragen. Klappt auch wunderbar. Nur werden die Leerzeilen und die Zeilen, die mit ";" anfangen weggelassen, werden einfach übersehen. Das ist mir schon vorher aufgefallen, aber bei dieser Datei ist es wirklich ein Problem, da die Formatierung der *.ini Datei erhalten bleiben sollte.
Jemand eine Idee?
Mitglied: Biber
26.09.2007 um 09:37 Uhr
Moin gunnar-hro,

die FOR/F- Anweisung ignoriert Leerzeilen. Immer.
Die ";"-Zeilen musst Du selbst unterdrückt haben durch den Parameter "EOL=;"

Wenn Du auch die Leerzeilen erhalten willst, dann musst Du die INI-Datei mt einem "FIND /n" oder "FindStr /n" -Befehl inclusive Leerzeilen lesen.

Bitte poste das, was Du bisher hast plus eine (beispielhafte) INI-Datei.
Dann ist es für alle MitleserInnen nachvollziehbarer, wovon wir grad reden.

Grüße
Biber
Bitte warten ..
Mitglied: 42583
26.09.2007 um 19:02 Uhr
Wenn ich in der Firma bin gerne, aber heute hab ich noch meinen Urlaubstag ;) Aber eol hab ich nicht verwendet, da bin ich mir sicher und "gescipt" hab ich auch nichts. Na ja mal schauen, werde es dann jedenfalls posten, damits hier auch andere nachlesen können. Jedenfalls schönen Dank für die Infos. So, werde jetzt erstmal abgrillen gehen ;)
Bitte warten ..
Mitglied: 42583
27.09.2007 um 09:01 Uhr
Anbei das Script:
REG QUERY HKCU\Printers\DevModePerUser /s>C:\temp1.txt
for /f "skip=2 tokens=1,2 delims=:" %%i in (C:\temp1.txt) do (
echo %%j>>C:\temp2.txt
)

for /f "tokens=1,2 delims= " %%i in (C:\temp2.txt) do (
set "snr=%%i"
)
del C:\temp1.txt
del C:\temp2.txt
del C:\temp3.txt

set "pcname=PC 123"


echo HP LaserJet 9999 (von %pcname%) in Sitzung: >C:\nachher1.txt
for /f "usebackq delims=" %%r in (C:\nachher1.txt) do (
echo %%r%snr%>nachher2.txt
)

for /f "usebackq delims=" %%s in (C:\nachher2.txt) do (
set Nach=%%s
)

setlocal enabledelayedexpansion
set "Datei=C:\meso.ini"
set "Von=HP LaserJet 2200"
set "t=%temp%\text.tmp"
if exist "%t%" del "%t%"


for /f "usebackq delims=" %%i in ("%Datei%") do (
set "Line=%%i"
set "Line=!Line:%Von%=%Nach%!"
echo !Line!>>"%t%"
)
move /y "%t%" "%Datei%"
del C:\nachher1.txt
del C:\nachher2.txt

Werde wohl die Zeilen per findstr auflisten, wo Leerzeilen drin sind und dann mittels einer zweiten Variable errechnen lassen, wo eine Leerzeile hinkommt und das mit einem "Echo." tun oder?! . Das könnte ich ja in der Schleife mit einem Unterprogramm tun?!
Bitte warten ..
Ähnliche Inhalte
Linux Tools
gelöst Mit Linux am ende einer Datei eine Leerzeile einfügen (30)

Frage von OIOOIOOIOIIOOOIIOIIOIOOO zum Thema Linux Tools ...

CMS
Kommentar bzw. Diskussionsfunktion für Joomla (2)

Frage von rababar2014 zum Thema CMS ...

Microsoft Office
gelöst Kommentare in Visio Viewer (6)

Frage von sardldb zum Thema Microsoft Office ...

Windows Server
gelöst Windows Server 2012R2 Startlayout (User) Kacheln verschwinden (1)

Frage von Zargan zum Thema Windows Server ...

Neue Wissensbeiträge
Windows Update

Microsoft Update KB4034664 verursacht Probleme mit Multimonitor-Systemen

Tipp von beidermachtvongreyscull zum Thema Windows Update ...

Viren und Trojaner

CNC-Fräsen von MECANUMERIC werden (ggf.) mit Viren, Trojanern, Würmern ausgeliefert

(4)

Erfahrungsbericht von anteNope zum Thema Viren und Trojaner ...

Windows 10

Windows 10: Erste Anmeldung Animation deaktivieren

(3)

Anleitung von alemanne21 zum Thema Windows 10 ...

Heiß diskutierte Inhalte
Verschlüsselung & Zertifikate
SSL Zertifikat für HTTPS (33)

Frage von Hendrik2586 zum Thema Verschlüsselung & Zertifikate ...

Grafikkarten & Monitore
24" oder 27" mit Full HD oder doch mehr Auflösung? (21)

Frage von brutzler zum Thema Grafikkarten & Monitore ...

Router & Routing
gelöst Linksys wrt1200ac v2 mit dd-wrt: keine vlan-einstellungen im GUI (15)

Frage von Pixi123 zum Thema Router & Routing ...