Cookies op Tweakers

Tweakers is onderdeel van DPG Media en maakt gebruik van cookies, JavaScript en vergelijkbare technologie om je onder andere een optimale gebruikerservaring te bieden. Ook kan Tweakers hierdoor het gedrag van bezoekers vastleggen en analyseren. Door gebruik te maken van deze website, of door op 'Cookies accepteren' te klikken, geef je toestemming voor het gebruik van cookies. Wil je meer informatie over cookies en hoe ze worden gebruikt? Bekijk dan ons cookiebeleid.

Meer informatie
Toon posts:

Batch script vraag

Pagina: 1
Acties:

Vraag


  • TOYS
  • Registratie: november 2010
  • Laatst online: 29-05 22:49

TOYS

Zeg ik nie!!

Topicstarter
Hallo Tweakers. Ik ben iemand die net begint met scriptjes en ben een batch script aan het bouwen maar ik loop erg vast. Hopelijk willen jullie me denken.

Even kort wat ik probeer te bereiken:
- Ik heb een getal Variable "nummer" die ik elke keer met 1 wil laten ophogen
- Ik heb een variable %%g waarvan ik de waarde uit een .txt file haal (informatie.txt)
- Ik moet naar een bepaalde folder en een ,exe uit te voeren met daarachter het Variable "nummer"
- Vervolgens heb ik een aantal commados die ik uit voer "echo hier beginnen mijn commandos"

De uitdagingen die ik heb:
Ik wil dit script 5 keer laten loopen maar:
Het scipt moet voor elke %%g het script uitvoeren. (dus in totaal komt elkel lijn uit de text file 5 keer aan bod)
De variable "nummer" moet ten alle tijde doornummer. Dus zowel in de eerste loop als in de opeenvolgende loops.

Ik heb dus voornamelijk hulp nodig met bovenstaande items. Ik zie even niet hoe ik de loop moet bouwen zodat die 5 keer wordt uigevoerd en dat altijd de %numm% opgehoogd wordt met 1 onafhankelijk hoe vaak het script uitgevoerd is.

Script:
@echo off
set /p nummer="Vul het startnummer in"
set file=informatie.txt
for /f "delims=" %%g in (informatie.txt) do (
echo %%g
START "" "C:\Program Files\folder\prog.exe" -%nummer%
set /a nummer+=1
timeout /t 30
taskkill /IM prog.exe /F
)

Hopelijk wil iemand me op weg helpen zodat ik ook de logica snap hoe je zn loop bouwd.

Bij IT-ers gaat alles automatisch, maar niets vanzelf.

Alle reacties


Acties:
  • +5Henk 'm!

  • HKLM_
  • Registratie: februari 2009
  • Laatst online: 23:12
Tip :Als je net gaat beginnen ga dan niet de antieke bat scriptjes leren maar maak je scriptjes in powershell :)

⛔Trackers of betalen...⛔


Acties:
  • +4Henk 'm!

  • burnedhardware
  • Registratie: januari 2001
  • Laatst online: 23:11
Je was me voor :) dit doe je in powershell

[Voor 42% gewijzigd door burnedhardware op 21-03-2021 14:01]


  • TOYS
  • Registratie: november 2010
  • Laatst online: 29-05 22:49

TOYS

Zeg ik nie!!

Topicstarter
Dank, ik zal daar naar gaan kijken. Is de syntax heel erg anders? Kunnen jullie een voorzet geven svp?

Bij IT-ers gaat alles automatisch, maar niets vanzelf.


Acties:
  • +1Henk 'm!

  • downtime
  • Registratie: januari 2000
  • Niet online

downtime

Everybody lies

TOYS schreef op zondag 21 maart 2021 @ 14:12:
Dank, ik zal daar naar gaan kijken. Is de syntax heel erg anders? Kunnen jullie een voorzet geven svp?
Voorzet:

code:
1
2
3
4
5
6
7
8
9
10
$Nr = [Int]( Read-Host -Prompt 'Vul het startnummer in' )
$File = Get-Content -Path 'informatie.txt'

ForEach ($Line in $File) {
    Write-Host $Line
    Start-Process -FilePath 'C:\Program Files\folder\prog.exe' -ArgumentList $Nr
    $Nr = $Nr + 1
    Start-Sleep -Seconds 30
    Get-Process -Name 'prog.exe' | Stop-Process -Force
}

Dit zal zeker fouten bevatten want ik heb het niet getest. Maar daarom heet het ook een voorzet :)

  • Brahiewahiewa
  • Registratie: oktober 2001
  • Laatst online: 19:12

Brahiewahiewa

boelkloedig

downtime schreef op dinsdag 23 maart 2021 @ 16:28:
[...]

Voorzet:

code:
1
2
3
4
5
6
7
8
9
10
$Nr = [Int]( Read-Host -Prompt 'Vul het startnummer in' )
$File = Get-Content -Path 'informatie.txt'

ForEach ($Line in $File) {
    Write-Host $Line
    Start-Process -FilePath 'C:\Program Files\folder\prog.exe' -ArgumentList $Nr
    $Nr = $Nr + 1
    Start-Sleep -Seconds 30
    Get-Process -Name 'prog.exe' | Stop-Process -Force
}

Dit zal zeker fouten bevatten want ik heb het niet getest. Maar daarom heet het ook een voorzet :)
Tja, eerlijk gezegd kun je als je dit soort code aanlevert, beter gewoon ms-dos batch files blijven gebruiken.
Ik bedoel: het advies om powershell te gebruiken is niet omdat het cool of vet is, maar omdat powershell je veel meer mogelijkheden geeft.

Om één voorbeeld te noemen: die "Stop-Process -Force" is een achterlijke constructie. Powershell geeft je bij Start-Process een pid mee en je kunt gewoon queriën of dat process nog runt en afhankelijk daarvan wel of geen actie ondernemen. Het sowieso al de vraag of de verschillende jobs in sequentiële volgorde moeten worden afgehandeld. In een ms-dos batch moet dat wel maar in powershell heb je juist de gelegenheid om gebruik te maken van de multitasking features van je processor

QnJhaGlld2FoaWV3YQ==


  • downtime
  • Registratie: januari 2000
  • Niet online

downtime

Everybody lies

Brahiewahiewa schreef op dinsdag 23 maart 2021 @ 17:00:
[...]

Tja, eerlijk gezegd kun je als je dit soort code aanlevert, beter gewoon ms-dos batch files blijven gebruiken.
Ik bedoel: het advies om powershell te gebruiken is niet omdat het cool of vet is, maar omdat powershell je veel meer mogelijkheden geeft.
Wat begrijp je niet aan het woord voorzet? Ik heb zijn script zoveel mogelijk 1 op 1 omgezet zodat hij ook begrijpt wat er gebeurt. Natuurlijk kan het mooier. Maar dan moet ik ook eerst beter weten wat de bedoeling is. En zoveel tijd wil ik er niet in steken.

En tijd investeren om batch files te leren gebruiken (dat is niet hetzelfde als batch files blijven gebruiken) is gewoon zonde. Je werkt dan met techniek die al decennia stil staat in plaats van een modern product wat meer kan en steeds beter wordt.

  • Brahiewahiewa
  • Registratie: oktober 2001
  • Laatst online: 19:12

Brahiewahiewa

boelkloedig

downtime schreef op dinsdag 23 maart 2021 @ 17:10:
[...] En zoveel tijd wil ik er niet in steken...
Tja, bedankt dan voor de tijd die je er wel in gestoken hebt. Maar m.i. heb je de TS hier niet echt mee geholpen maar eerder op een dwaalspoor gebracht

QnJhaGlld2FoaWV3YQ==


  • TOYS
  • Registratie: november 2010
  • Laatst online: 29-05 22:49

TOYS

Zeg ik nie!!

Topicstarter
Hallo mensen, hartelijk bedankt voor de comments. Ik heb de batch file gedeeltelijk werkend gekregen en in een powershell script geheel werkend. Wellicht niet de mooiste opbouw van code, maar wel functioneel voor een hobby project.

Bij IT-ers gaat alles automatisch, maar niets vanzelf.

Pagina: 1


Apple iPad Pro (2021) 11" Wi-Fi, 8GB ram Microsoft Xbox Series X LG CX Google Pixel 5a 5G Sony XH90 / XH92 Samsung Galaxy S21 5G Sony PlayStation 5 Nintendo Switch Lite

Tweakers vormt samen met Hardware Info, AutoTrack, Gaspedaal.nl, Nationale Vacaturebank, Intermediair en Independer DPG Online Services B.V.
Alle rechten voorbehouden © 1998 - 2021 Hosting door True