 |
|
Zoeken • Gebruikerslijst • Gebruikersgroepen
• Registreer
• Profiel • Log in om je privé berichten te bekijken
• Ben je al lid? Log in!
|
|
|
Sponsors:
Relaties:
|
|
Nieuw onderwerpNieuw antwoord
wuschib |
Geplaatst op 17-06-2008 |
 |
Nieuw lid
|
all, ik ben een noob in scripting. een copy regeltje kan ik wel maken,maar als het lastiger wordt,dan zeggen mijn hersens " game over" .
wat ik eigenlijk wil is een kopieer aktie van 40 verschillende folders. ik denk dat de beste manier is om de source en de destination in een textfile te plaatsen en het script dan die gegevens uit het textfiletje te laten halen. maar hoe doe je zoiets? verder zal er ook wel een loop bij te pas moeten komen??Een loop begrijp ik feitelijk ook niet echt. als de loop dan vorobij is, dan wil ik de gegevens van de copieer aktie in een logfile schrijven. dus dat is dan iets van echo >> log.txt ??alvast bedankt voor de eventuele hulp en uitleg.
|
wuschib |
Geplaatst op 17-06-2008 |
 |
Nieuw lid
|
FOR /F "tokens=1" %%A IN (C:\sourcedata.txt) DO (copy %%A "\\backup\folder" ) dat is een voorbeeld van een loop, maar de bron bestanden staan verspreid op meerdere locaties en daar loop ik mee vast
|
renevanh |
Geplaatst op 17-06-2008 |
 |
Beheerder
 |
Het is me niet helemaal duidelijk wat je precies wilt.
Je wil een tekstbestand hebben met locaties, en die locaties kopieren naar een backuplocatie?
In welke programmeertaal?
Probeer het niet te moeilijk te doen, batch kan ook bestanden uitlezen en kan makkelijk kopieren. Daarnaast zijn er programma's om dit te doen, zoals MicroSoft SyncToy.
Keyboard not found, press F1 to continue... |
wuschib |
Geplaatst op 17-06-2008 |
 |
Nieuw lid
|
taal=batch
de bedoeling is om een textfile met sources zoals bijv. \\pc1\data\mp3 en \\pc2\data\movies te kopieren naar 1 centrale plek; bijv. \\dataserver\data\movies en \\dataserver\data\movies.
hoop dat dit duidelijk is
|
renevanh |
Geplaatst op 17-06-2008 |
 |
Beheerder
 |
Dan heb je al een klein probleem, want batch gaat niet echt makkelijk om met \\pc1 (e.d.). Je kan natuurlijk wel een netwerkschijf koppelen (bijvoorbeeld schijf Z: aan \\dataserver\data enz).
In dit geval is het misschien veel handiger om dit met SyncToy te doen. Wil je het toch graag zelf doen dan moet je even uitzoeken hoe je een textfile inleest. Die lees je regel voor regel in waarna je de betreffende dir kopieert. Dat kun je allemaal onder elkaar uitschrijven (lees regel 1, copy, lees regel 2, copy), maar een for loop is dan inderdaad veel handiger.
In die loop ga je dan elke keer een regel in je file af en kopieer je die locatie. Vervolgens ga je naar de volgende, enz enz.
Als je dus de lengte van het bestand kan opvragen (aantal regels) kun je de loop zoveel keer uitvoeren. Je kan ook steeds de volgende regel bekijken en de loop stoppen als die regel de End Of File aangeeft (maar dan moet je laatste regel dus ALTIJD de letters EOF bevatten en verder niks).
Keyboard not found, press F1 to continue... |
wuschib |
Geplaatst op 18-06-2008 |
 |
Nieuw lid
|
ok,thanks; zal eens proberen en zoeken
|
|
|