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

Is er iemand die dit uit z'n mouw schudt?
out of the box kan Dos dat dus niet.

je zult iets moeten installeren.

Ik heb zelf in mijn pre-php tijd iets dergelijks in Perl gescript.
PHP kan het

en het aangehaalde SED en Powershell.

mogelijk zijn er ook notepad-vervangers die zo iets zouden kunnen doen (net als je programma's als 7zip en dergelijk ook via de command line kunt aanroepen om files te zippen.

Hoe dan ook zul je iets op je pc moeten zetten.

Maar van nature is DOS een Disk Operating System en dus bedoeld om files te kunnen benaderen of behandelen op een schijf.
Allerhande extra's zul je dan dus via externe tools moeten oplossen.
Met de Windows Script Host (WSH) zou het wel kunnen. Omwille van de beveiliging zou ik dat echter niet aanbevelen voor zo'n kleinigheid.

Gewoon PHP vanaf de opdrachtprompt uitvoeren. Ik doe dat zelf vrijwel dagelijks voor unit tests.
Met het voordeel dat je zelf php-master bent Ozzie ;-)
Thanks ... dan ga ik inderdaad maar een andere oplossing zoeken. Inderdaad misschien via PHP dan. Kun je via PHP eigenlijk gewoon een zip bestand maken? Eerlijk gezegd nog nooit nodig gehad ...
je kunt wel zippen via php, maar het kan zijn dat je dan de juiste modules moet toevoegen.

maar in je bat file kun je natuurlijk eerst het phpscript laten uitvoeren, en daarna via dos een andere tool aanpsreken om te zippen:


// bat file
php script.php foobar
zip foo.xml bar.zip
del foo.xml


oid
Oké, thanks. Zal er eens over nadenken wat het handigst is. Heb nu in ieder geval een beetje een idee in welke richting ik het moet gaan zoeken.
Het is duidelijk dat het gevraagde met een batch bestandje niet gaat lukken.

Maar waarom niet een executeble ?

Er zijn genoeg talen waar je dit mee kunt maken.
C, C++, C#, Java, Basic (compiler nodig) Delphi, Pascal, zoek maar uit wat voor jou het gemakkelijkst is.

Op die manier hoeft er ook geen PHP op je PC te draaien.
Pipo, da's mooi ... maar ik programmeer die talen niet en het kost me vast een eeuwigheid om dat te gaan leren ;-)

Reageren