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'.

Koppelingspictogram voor conceptenZie ook