Forum » Programiranje » Powershell xml
Powershell xml
chrush ::
Pozdravljeni,
potreboval bi skripto, ki bi uredila xml.file.
xml zgleda tako:
Urediti bi morala samo vrstico iz:
v
pri tem pa je treba vedeti, da je vrednost 'nextUpdateDate="20210625"' na vseh racunalnikih razlicna.
Trenutno imam, kar pa ne deluje:
potreboval bi skripto, ki bi uredila xml.file.
xml zgleda tako:
<NotepadPlus> <ProjectPanels> <ProjectPanel id="0" workSpaceFile="" /> <ProjectPanel id="1" workSpaceFile="" /> <ProjectPanel id="2" workSpaceFile="" /> </ProjectPanels> <GUIConfigs> <GUIConfig name="ToolBar" visible="yes">standard</GUIConfig> <GUIConfig name="noUpdate" intervalDays="15" nextUpdateDate="20210625">no</GUIConfig> <GUIConfig name="Auto-detection">yes</GUIConfig> </GUIConfigs> <NotepadPlus>
Urediti bi morala samo vrstico iz:
<GUIConfig name="noUpdate" intervalDays="15" nextUpdateDate="20210625">no</GUIConfig>
v
<GUIConfig name="noUpdate" intervalDays="15" nextUpdateDate="20210625">yes</GUIConfig>
pri tem pa je treba vedeti, da je vrednost 'nextUpdateDate="20210625"' na vseh racunalnikih razlicna.
Trenutno imam, kar pa ne deluje:
$users = Get-ChildItem C:\Users foreach ($user in $users) { $folder = "C:\Users\" + $user + "\AppData\Roaming\Notepad++" $file = "\config.xml" $path = "$folder" + "$file" if (Test-Path -Path $path) { $newValue = '<GUIConfig name="noUpdate" intervalDays="365" nextUpdateDate="20220606">yes</GUIConfig>' $xml = [xml](Get-Content $path) $xml.NotepadPlus.GUIConfigs.'<GUIConfig name="noUpdate" intervalDays="15" nextUpdateDate="20210708">no</GUIConfig>' = $newValue $xml.save($path) } }
https://www.facebook.com/OverMuraMuviMejkers
kow ::
Ne rabis parsati xml, saj samo spremenis no v yes. Stream editor (sed) ti bo to naredil z one linerjem.
Je pa res, da ga nimas privzeto na windowsih.
Je pa res, da ga nimas privzeto na windowsih.
Zgodovina sprememb…
- spremenil: kow ()
chrush ::
Ne rabis parsati xml, saj samo spremenis no v yes. Stream editor (sed) ti bo to naredil z one linerjem.
Je pa res, da ga nimas privzeto na windowsih.
Zal ne pride v postev, ker ni privzeto na windowsih.
Invictus, tvoj link pa tudi ni v pomoc, ker gre res za enostaven primer, kako zamenjati eno besedo z drugo. In ce jaz zamenjam no v yes, bo to naredilo v celotnem file-u. Jaz pa zelim tocno v doloceni vrstici.
https://www.facebook.com/OverMuraMuviMejkers
Invictus ::
Naredi boljši filter, a je tako težko?
"Life is hard; it's even harder when you're stupid."
http://goo.gl/2YuS2x
http://goo.gl/2YuS2x
chrush ::
$users = Get-ChildItem C:\Users ForEach ($user in $users) { $folder = "C:\Users\" + $user + "\AppData\Roaming\Notepad++" $file = "\config.xml" $path = "$folder" + "$file" if (Test-Path -Path $path) { [xml]$xml = (Get-Content $path | Out-String) -replace '(.*noUpdate.*)no</GUIConfig>', '$1yes</GUIConfig>' $xml.save($path) } }
Koncno uspelo. Hvala. :D
https://www.facebook.com/OverMuraMuviMejkers
chrush ::
Kako bi naredil s powershellom enako, kot naredi ukaz F3 v Registry Editorju? Torej, zelim poiskati vse key, value, data, ki jih je recimo nastlal program draw.io.
Npr.: Ukaz:
Npr.: Ukaz:
get-childitem -path hklm:\ -recurse -ErrorAction SilentlyContinue | Where-Object {$_.Name -like "*draw.io*"}mi ne vrne vsega, kar se nahaja v hklm
https://www.facebook.com/OverMuraMuviMejkers
Vredno ogleda ...
Tema | Ogledi | Zadnje sporočilo | |
---|---|---|---|
Tema | Ogledi | Zadnje sporočilo | |
» | Powershell primerjaj in kopirajOddelek: Programiranje | 1068 (705) | Blisk |
» | Batch skripta za brisanje map, starejših od X dniOddelek: Operacijski sistemi | 817 (752) | krneki0001 |
» | [c#] savefiledialog, en sfd a več datotekOddelek: Programiranje | 752 (680) | darkkk |
» | android črtaOddelek: Programiranje | 2410 (1681) | g333kk |
» | Skripte (strani: 1 2 )Oddelek: Programiranje | 8812 (6675) | Microsoft |