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

In config Datei in der 6ten Zeile etwas einfügen

Frage Entwicklung Batch & Shell

Mitglied: legend81

legend81 (Level 1) - Jetzt verbinden

16.10.2014 um 10:49 Uhr, 921 Aufrufe, 4 Kommentare

Hallo zusammen,

ich habe folgendes problem:

Ich müsste in eine config.properties in die 6te Zeile etwas einfügen. Es soll nach dem Text, der unter der Variable "Suchen" steht eingefügt werden. Ich habe mir was gebastelt, dass steht zum teil im Forum, aber ich komme nicht weiter.
könnt ihr mir Helfen? Ich wäre euch sehr zu dank verbunden. Ich komme einfach nicht weiter.

Die batch soll einfach bis in die 6te Zeile springen und dort minimized=Y einfügen. Ist das möglich, oder hab ich hier den Falschen Ansatz?


@echo off setlocal

set "PaperCut=C:\PaperCut\config.properties"
set "Suchen=# client will be minimized to the task tray."
set Einfügen="minimized=Y"

for /f "tokens=1* delims= " %%i in ('findstr /n $ %PaperCut%') do (set "Zeile=%%j" & call :ProcessLine)
goto :eof

:ProcessLine
(
setlocal enabledelayedexpansion
echo(!Zeile!
if "%Zeile%"=="%Suchen%" echo %Einfügen%
endlocal
)


goto :eof

Danke euch für eure mühen.

Gruß
Legend
Mitglied: Friemler
16.10.2014, aktualisiert um 12:52 Uhr
Hallo Legend,

teste mal folgendes:
01.
@echo off & setlocal 
02.
 
03.
set "PaperCut=C:\PaperCut\config.properties" 
04.
set "Suchen=# client will be minimized to the task tray." 
05.
set "Einfuegen=minimized=Y" 
06.
 
07.
for /f "tokens=1* delims=:" %%a in ('findstr /n "$" "%PaperCut%"') do ( 
08.
  echo.%%b 
09.
  if "%%b" equ "%Suchen%" echo %Einfuegen% 
10.
)
Gruß
Friemler
Bitte warten ..
Mitglied: legend81
16.10.2014 um 14:41 Uhr
Hallo Friemler

Danke für deine Antwort. Deine Änderung bewirkt das er das ganze auf der CMD ausgibt. Geändert so wie ich das wollte, aber nur als Ausgabe in der CMD. Das ganze ist zu sehen wenn ich die CMD offen habe, um zu testen. Wie bekomme ich die Änderung jetzt wieder in die config rein? mit

if "%%b" equ "%Suchen%" echo %Einfuegen% >> %PaperCut%

schreibt er mir die Variable "Einfügen" am Ende der config und nicht wo ich das haben wollte? Hast Du auch hier eine Lösung?

Danke.
Legend
Bitte warten ..
Mitglied: Friemler
16.10.2014, aktualisiert 17.10.2014
Hallo Legend,

Du kannst nicht Daten aus der Datei lesen und gleichzeitig neue Daten in sie hineinschreiben. Benutze für die Ausgabe eine temporäre Datei. Die ursprüngliche Datei kann zum Schluss mit der temporären Datei überschrieben werden.

Außerdem arbeitet das Script schneller, wenn man die Ausgabeumleitung auf die komplette FOR-Schleife bezieht, dann braucht die Ausgabedatei nicht für jede Zeile erneut geöffnet und wieder geschlossen zu werden.

Das könnte dann z.B. so gehen:
01.
@echo off & setlocal 
02.
 
03.
set "PaperCut=C:\PaperCut\config.properties" 
04.
set "PaperCutTmp=%PaperCut%.tmp" 
05.
set "Suchen=# client will be minimized to the task tray." 
06.
set "Einfuegen=minimized=Y" 
07.
 
08.
(for /f "tokens=1* delims=:" %%a in ('findstr /n "$" "%PaperCut%"') do ( 
09.
   echo.%%b 
10.
   if "%%b" equ "%Suchen%" echo %Einfuegen% 
11.
)) > "%PaperCutTmp%" 
12.
 
13.
move "%PaperCutTmp%" "%PaperCut%" > NUL
Gruß
Friemler
Bitte warten ..
Mitglied: legend81
17.10.2014 um 08:48 Uhr
Hallo zusammen,

großen dank Friemler die letzte Änderung war´s. Jetzt funktioniert die batch.

Gruß
Andreas
Bitte warten ..
Ähnliche Inhalte
Microsoft Office
gelöst Config Dateien in Visio Shapes hinterlegen (2)

Frage von Hanuta zum Thema Microsoft Office ...

VB for Applications
gelöst VbScript: ADODB.Stream: Neue Zeile einfügen (2)

Frage von BirdyB zum Thema VB for Applications ...

Netzwerkmanagement
gelöst Running-Config oder Startup-Config bei Cisco-Geräten sichern? (9)

Frage von M.Marz zum Thema Netzwerkmanagement ...

Neue Wissensbeiträge
Linux Netzwerk

Ping und das einstellbare Bytepattern

(1)

Erfahrungsbericht von LordGurke zum Thema Linux Netzwerk ...

Windows Update

Microsoft Update KB4034664 verursacht Probleme mit Multimonitor-Systemen

(3)

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 ...

Heiß diskutierte Inhalte
SAN, NAS, DAS
MSA 2050 RAID Konfig (27)

Frage von Leo-le zum Thema SAN, NAS, DAS ...

Netzwerkmanagement
Windows Server 2008 R2: "netsh reset" nicht verfügbar? (11)

Frage von RickTucker zum Thema Netzwerkmanagement ...

Microsoft Office
Outlook 2016 in Ordneransicht starten - GPO (8)

Frage von D-Line zum Thema Microsoft Office ...

Outlook & Mail
Outlook Suche liefert kein Ergebnise mehr (8)

Frage von Bjoern-B zum Thema Outlook & Mail ...