Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien

[BATCH] Input en outputfile gelijk

Pagina: 1
Acties:

  • Soepstengel
  • Registratie: April 2006
  • Laatst online: 28-11 10:44
Ik ben opzoek naar een manier om in een batch de input file en de output file dezelfde naam te geven. De situatie is als volgt:
- Er staat een folder met ongeveer 500+ csv bestanden, deze moeten allemaal ge-edit worden om onnodige gegevens eruit te halen.
- Er wordt gebruik gemaakt van het programma TextHarvest ook bekend als Parse-o-Matic, dit programma kan CSV bestanden aanpassen aan de hand van een filterlijst en kan ook gestart worden vanuit CMD en een bat bestand.
- Het programma kan echter niet alle csv's laden en weg schrijven zonder daarvoor de bestandsnaam aante passen. Je kunt wel meerdere csv bestanden in laden maar er komt ten alle tijden maar 1 bestand uit (hij voegt dan dus alle csv bestanden bij elkaar).

Nu wil ik dus via een bat bestand het programma uit laten voeren en dan een loop maken als dat mogelijk is. Er moet een manier zijn om het output bestand het zelfde te laten noemen als het input bestand. Iemand een idee? Hieronder het bat bestandje zoals het nu werk voor 1 bestand, als je *.csv invult bij input dan maakt hij dus 1 groot bestand als output.

code:
1
2
3
4
5
6
7
8
9
START
/WAIT
"H:\TextHarvest\Textharvest.exe"
/I"H:\TextHarvest\Inputfile.csv"
/O"H:\TextHarvest\Edit\Outputfile.csv"
/S"None"
/Y "filter-rules..........."
/R
/CA

Desktop: Ryzen 7 7800X3D | 32 GB | Radeon RX 6800


  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


  • Krypt
  • Registratie: April 2000
  • Laatst online: 23-11 16:48
Dan moet je een FOR statement gebruiken.
code:
1
FOR %%a in (*.*) do textharvest.exe /I%%a /o.\edit\%%a

[ Voor 7% gewijzigd door Krypt op 16-09-2008 13:55 ]

Pvouput live


  • Soepstengel
  • Registratie: April 2006
  • Laatst online: 28-11 10:44
Krypt schreef op dinsdag 16 september 2008 @ 13:55:
Dan moet je een FOR statement gebruiken.
code:
1
FOR %%a in (*.*) do textharvest.exe /I%%a /o.\edit\%%a
YES!!!! Dat is em!!! Ontzettend bedankt, je hebt mijn hele dag weer goed gemaakt! O+

Mijn excuses trouwens voor het verkeerd plaatsen van dit topic :X

edit: De code deed het trouwens niet als je het onder elkaar zet. Voor de mensen die tegen hetzelfde probleem aan zijn gelopen met parse-o-matic of textharvest kan je het volgende in je bat file zetten:
code:
1
2
3
4
START
CALL WAIT 0
FOR %%a in (*.csv) do H:\TextHarvest\TextHarvest.exe /I"H:\TextHarvest\%%a" /O"H:\TextHarvest\edit\ED%%a" /S"None" /Y"hier delete filters invullen" /R /CA 
PAUSE

Je moet daarbij ook nog WAIT.BAT in dezelfde map zetten als het bovenstaande bat bestandje waar het volgende instaat:
code:
1
2
@ping 127.0.0.1 -n 2 -w 1000 > nul
@ping 127.0.0.1 -n %1% -w 1000> nul

[ Voor 44% gewijzigd door Soepstengel op 16-09-2008 14:42 ]

Desktop: Ryzen 7 7800X3D | 32 GB | Radeon RX 6800


  • Krypt
  • Registratie: April 2000
  • Laatst online: 23-11 16:48
No thanks.

Zoek maar eens verder wat je met het for statement kan doen. Zeker als je onder 2000,XP,2003,Vista draait (met name met delims en tokens)

Pvouput live