Meer bestanden in map importeren door KingJob
In dit document wordt aan de hand van een voorbeeld uitgelegd hoe een King Job een map met bestanden (dus met verschillende bestandsnamen) kan inlezen en verwerken. In dit voorbeeld staan in een map de volgende inleesbestanden en tevens twee batch-bestanden Start.bat en VoerUit.bat:
Start.bat
Het batch-bestand Start.bat ziet er als volgt uit:
@echo off FOR %%f IN (D:\BAT\Artikel*.xml) DO CALL VoerUit.bat %%~nf %%~xf
Toelichting:
- @echo off betekent: laat de commando's niet zien (zet dit uit als je wilt testen en voeg aan het eind het commando PAUSE toe, zodat je kunt zien wat er gebeurt);
- Met %%f wordt een parameter gedefinieerd. De 'f' mag hier een willekeurige letter zijn (als je dit commando direct in CMD wil uitvoeren, gebruik dan één % i.p.v. twee);
- De %% aan het eind geven twee parameters mee aan VoerUit.bat.
- ~n betekent: alleen de bestandsnaam, zonder extensie.
- ~x betekent: de extensie, incl. de punt.
- Hierdoor wordt het pad uit de bestandsnaam gefilterd, en ben je bij het teruggeven van de oorspronkelijke bestandsnaam flexibeler in de te gebruiken nieuwe bestandsnaam.
Met dit batch-bestand wordt voor ieder bestand in de map het batchbestand VoerUit.bat aangeroepen.
VoerUit.bat
Dat batch-bestand ziet er als volgt uit:
REN %1%2 Artikel.xml "C:\Program Files\King\KingJob.exe" EA DemoArt JOB 1 RUN IF ErrorLevel 1 GOTO Fout REN Artikel.xml %1%2 MOVE %1%2 D:\BAT\Gelukt
GOTO Eind
:Fout REN Artikel.xml %1%2 MOVE %1%2 D:\BAT\FOUT
:Eind
Toelichting:
- Met %1 en %2 kun je respectievelijk de eerste en tweede parameter van het aanroepende batchbestand opvragen. In dit geval vormen die dus samen de bestandsnaam;
- De originele bestandsnaam wordt hernoemd naar 'Artikel.xml'. Dit is de vaste bestandsnaam die binnen de Job is vastgelegd. Als het uitvoeren van de Job klaar is, krijgt het bestand weer de originele naam en wordt het verplaatst naar de map 'Gelukt' of 'Fout'.