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

Erste Zeile einer Text Datein in einem bestimmten Bereich einer XML Datei schreiben

Frage Entwicklung Batch & Shell

Mitglied: 66687

66687 (Level 1)

26.06.2008, aktualisiert 15:18 Uhr, 3156 Aufrufe, 2 Kommentare

Hallo,

ich habe 2 Datein einmal solutionid.txt und setup.exe.config.

Der Inhalt der solutionid.txt:

d48f1f0f-2959-45ec-8b5d-0178ae7e35b2

(besteht nur aus einer Zeile, anzahl an Zeichen ist immer gleich),

soll in die setup.exe.config:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<appSettings>
<add key="BannerImage" value="Default"/>
<add key="LogoImage" value="None"/>
<add key="EULA" value="EULA.rtf"/>
<add key="Require" value="MOSS"/>
<add key="SolutionId" value="d48f1f0f-2959-45ec-8b5d-0178ae7e35b2"/>
<add key="FarmFeatureId" value="400D8B01-1F64-46b4-A1DD-A1DA6A0E8E94"/>
<add key="SolutionFile" value="GlobalMasterPage.wsp"/>
<add key="SolutionTitle" value="GlobalMasterPage"/>
<add key="SolutionVersion" value="1.0.0.0"/>
<add key="UpgradeDescription" value="Upgrades {SolutionTitle} on all frontend web servers in the SharePoint farm."/>
<add key="RequireDeploymentToCentralAdminWebApllication" value="false"/>
<add key="RequireDeploymentToAllContentWebApplications" value="false"/>
</appSettings>
</configuration>


den SolutionId Wert ersetzten.

Nachdem was ich so gelesen habe sollte das Möglich sein, mittels Batch. Aber ich bekomms nicht hin.

Hoffe ihr könnt mir da weiter helfen.

mfG,
max
Mitglied: bastla
26.06.2008 um 13:55 Uhr
Hallo MaxMustermann35 und willkommen im Forum!

Nachdem was ich so gelesen habe sollte das Möglich sein, mittels Batch.
Wo liest Du denn sowas?!

Tatsächlich ist es mit Batch alleine (schon wegen der Sonderzeichen "<" und ">") zumindest mühsam - daher verwendet der folgende Vorschlag für die eigentliche Ersetzung ein temporäres (durch den Batch erzeugtes) VBScript:
01.
@echo off & setlocal 
02.
set "Cfg=D:\setup.exe.config" 
03.
set /p Key=<"D:\solutionid.txt" 
04.
 
05.
set R=%temp%\ReplaceKey.vbs 
06.
echo S="SolutionId"" value=""":E="""/>":Set fso=CreateObject("Scripting.FileSystemObject")>%R% 
07.
echo Set args=WScript.Arguments:T=fso.OpenTextFile(args(0)).ReadAll>>%R% 
08.
echo P=InStr(1,T,S,vbTextCompare):If P=0 Then WScript.Quit 1 >>%R% 
09.
echo fso.CreateTextFile(args(0),True).Write Left(T,P+Len(S)-1)^&args(1)^&Mid(T,InStr(P,T,E))>>%R% 
10.
 
11.
cscript //nologo %R% "%Cfg%" "%Key%" 
12.
if errorlevel 1 echo Keine Ersetzung vorgenommen!
Voraussetzung für das Ersetzen ist, dass es in der angegebenen Datei zumindest folgenden Bestandteil gibt:
01.
SolutionId" value=""/>
Ob zwischen den auf "value" folgenden Anführungszeichen bereits ein Wert steht oder nicht, ist unerheblich, da an diese Position der eingelesene Key geschrieben wird.

Soferne der Teil
01.
SolutionId" value="
nicht gefunden wird, endet das Script mit einem Errorlevel 1. Das anschließende
01.
"/>
wird nicht gesondert geprüft, sondern die Ersetzung betrifft alles bis zum nächsten Auftreten dieses Strings.

Die Änderung erfolgt unmittelbar in der Config-Datei, es wird keine Sicherungskopie erstellt.

Grüße
bastla
Bitte warten ..
Mitglied: 66687
26.06.2008 um 15:18 Uhr
danke schön, funktioniert super
Bitte warten ..
Ähnliche Inhalte
XML
gelöst Xml-Datei in eine csv-Datei umwandeln mit Powershell (5)

Frage von jan.kleinel zum Thema XML ...

Netzwerkmanagement
gelöst Über DHCP Mac-Adressen für einem bestimmten Bereich freigeben, Rest sperren (8)

Frage von Mesaric zum Thema Netzwerkmanagement ...

XML
gelöst XML Datei mit Powershell splitten (2)

Frage von LianenSchwinger zum Thema XML ...

Neue Wissensbeiträge
Windows 10

Windows 8.x oder 10 Lizenz-Key aus dem ROM auslesen mit Linux

(6)

Tipp von Lochkartenstanzer zum Thema Windows 10 ...

Tipps & Tricks

Wie Hackt man sich am besten in ein Computernetzwerk ein

(38)

Erfahrungsbericht von Herbrich19 zum Thema Tipps & Tricks ...

Heiß diskutierte Inhalte
Windows 10
gelöst Windows 10 Home "Netzlaufwerk nicht bereit" (19)

Frage von Oggy01 zum Thema Windows 10 ...

Viren und Trojaner
Verschlüsselungstrojaner simulieren (18)

Frage von AlbertMinrich zum Thema Viren und Trojaner ...

LAN, WAN, Wireless
Cisco W-Lan Controller als Applicance oder Software (11)

Frage von Herbrich19 zum Thema LAN, WAN, Wireless ...

Exchange Server
Exchange Postfach leeren - nicht löschen (11)

Frage von AndreasOC zum Thema Exchange Server ...