Batch bestand aantal txt files gebruiken

Status
Niet open voor verdere reacties.

dirkjangroen

Gebruiker
Lid geworden
2 feb 2012
Berichten
5
Hallo,

Ik probeer mezelf op een wat hoger niveau qua batch bestanden schrijven te brengen. Nu ben ik ben ik met een concrete opdracht bezig maar kom ik niet verder. Wie kan me hier mee verder helpen. Het volgende moet gebeuren.

in de map bijvoorbeeld c:\test\ staan een aantal txtfiles

Nu moet hij een aantal handelingen doen per txt file.

Ik kan een lijst krijgen van de bestanden door de volgende code te gebruiken:

Code:
for /f %%a IN ('dir /b "C:\test\*.txt"') do echo ~%%na

Maar ik wil dat hij dan naar een functie gaat en dan meerdere dingen uitvoert.

Voorbeeld:
Code:
for /f %%a IN ('dir /b "C:\test\*.txt"') do goto test

:test
get filename
copy "c:\test\%Filename%.txt" %Filename%.txt

echo %FileName% Qlikview wordt voorzien van DMS
pause
C:\Powertools\qv-user-manager\qv-user-manager.exe --add dms --document "%FileName%.qvw"  < "%FileName%.txt"
DEL %FileName%.txt
pause
Set /A Teller+=1

Wie kan me hier verder mee helpen. Ik hoop dat mijn vraag zo duidelijk is.
Waar ik tot nu toe tot kom, handeld hij mijn functie test altijd maar 1 keer af.
 
Laatst bewerkt:
Jaha, wat jij doet in je eerste regel is meteen uit de lus sturen met goto test! Inplaats van:

for /f %%a IN ('dir /b "C:\test\*.txt"') do goto test

kan je net zo goed dit doen:

dir /b "C:\test\*.txt" > filename

FOR, IN, DO is nl. geen FOR, NEXT lus zoals in VB e.d.. Alleen alles op die regel staat in lus.

Wat jij wil doen kan wel met LABEL, IF & GOTO. Waarbij als aan de voorwaarde van IF NIET voldaan word, de batch doorgaat met de volgende regel.

Bij dit soort projecten is het meestal handig om eerst alles wat je wil doen, dat in gewoon Nederlands zo logisch & kort mogelijk op te schrijven. Bv:

Lijst maken van tekstbestanden.
Lijst uitvoeren naar bestand genaamd ...
Vind eerste regel bestand genaamd ...

Etc... Als dat "Spieklijstje" af is, logisch klopt, ga je dat vertalen in de commando's van je programmeertaal. Waarbij DOS dus eigenlijk meer een besturingstaal is, wel met als voordeel dat je de uitvoer van het ene kan gebruiken als invoer voor de andere.
 
Laatst bewerkt:
verdere uitleg

ik weet wat ik moet doen.

Ik wil alleen met een loep de dingen automatiseren.
opdracht heb ik voor elkaar. Het gaat alleen om de loep. Hoe krijg ik die werkend en kan die naar een functie gestuurd worden.
Dat is mijn vraag.

Voor de duidelijkheid uitgeschreven:

Haal een aantal tekst documenten uit bijvoorbeeld c:\test\
Stuur deze per document naar een functie

Deze functie:
Leest de bestandsnaam uit
Kopieër het bestand
gebruik het bestand in de map waarheen hij gekopiërt is
verwijder het bestand

Ga naar het volgende bestand.

Mijn vraag is hoe ik zo'n loop maak.

Groet,

Dirk
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan