Door
Ozzie PHP
op 01-03-2016 16:29
gewijzigd op 01-03-2016 16:30
4.070 views
Hallo,
Is iemand hier toevallig handig met het maken van een .bat file?
Wat ik wil is in grote lijnen het volgende:
Ik heb een map met daarin 2 andere mappen en 2 bestanden:
\bar
\foo
bar.xml
foo.xml
Wat ik nu wil is het volgende:
1. als ik het .bat bestand open, moet mij gevraagd worden om een string X in te voeren
2. in het bestand foo.xml moet gezocht worden naar een unieke (vaststaande) string, bijv. ABCXYZ
3. string ABCXYZ moet in het bestand vervangen worden door string X
4. het bestand foo.xml moet worden opgeslagen
5. de 2 mappen en bestanden moeten als 1 bestand gezipt worden, bijvoorbeeld new.zip
de combi "dos sed" in Google gaf genoeg aanwijzingen, dat het inderdaad bestaat.
of een powershell die dat ook op kan lossen.
"Nee, het moet gewoon een lokaal bestandje op m'n pc zijn. Heeft niks met een website te maken."
Maar PHP heeft ook niets met een website te maken :-p
Toevallig wordt php veel voor websites gebruikt, maar je kunt het ook gebruiken voor scriptjes die je vanaf de command line of vanuit een cronjob aanroept.
php mijnscript.php jo
en dan als simpel voorbeeld in mijnscript.php
<?php
je hebt er een commando bij nodig dat meer is dan dat in DOS beschikbaar is. Simpele handelingen als "kopieer file", "verplaats file" en "maak dir" kan dos wel.
Maar je zult dus iets extra's nodig hebben.
sed zou dat kunnen zijn. Ik neem aan dat je dan een sed.exe ergens vandaan moet halen in op je pc zetten.
Alternatief is om het in php, perl of andere script taal te schrijven.
Zippen kan dos van nature ook niet, dus ook daar zul je een tooltje voor moeten downloaden.
Dus het vervangen van de tekst gaat al niet lukken en zou dus al met PHP moeten? Begrijp ik je goed?
Ik heb trouwens wel WinRar op m'n computer staan. Kan ik daar dan mee zippen?
[size=xsmall]Toevoeging op 01/03/2016 18:08:44:[/size]
@Frank
Ik heb niet zoveel trek om voor zoiets (relatief simpels) PHP te gaan installeren op m'n pc, dus vandaar dat ik een iets makkelijkere oplossing zoek ...
[size=xsmall]Toevoeging op 01/03/2016 18:10:57:[/size]
PS ... zou het mogelijk zijn om die string X in een apart bestandje te zetten en te importeren in foo.xml? Dus dat in foo.xml ergens staat IMPORT string uit bestandje foobar?
Volgens mij is het gewoon even de zip uitpakken op je harde schijf en even de PATH voorzien van het pad naar php.exe. Dat laatste is zelfs nog optioneel, je kunt php ook zo aanroepen:
Ik snap het Frank, maar liever dus niet een complete installatie als het wellicht makkelijker kan. Als het echt niet anders kan is het een optie, maar het lijkt me nogal omslachtig.