[XP]Batch file laten wachten op actieve taak

Pagina: 1
Acties:

  • awenger
  • Registratie: Februari 2006
  • Laatst online: 14-03 06:23
Ik heb een laptop en een desktop en deze synchroniseer ik met elkaar dmv de Microsoft Synctoy. Dit werkt uitstekend, alleen heb ik 3 folderparen die gesyncd moeten worden. Synctoy heeft de mogelijkheid om dit unattended te doen, alleen is het niet mogelijk om synctoy 3 keer tegelijkertijd open te hebben. Wat ik dus wil doen is een batch bestand schrijven waarin ik synctoy.exe opstart, dan de batchfile laat checken of synctoy.exe nog actief is en als dit niet het geval meer is de volgende synctoy.exe laat opstarten. Alleen hoe zorg ik ervoor dat mijn batchfile controleert of het programma geopend is?

Verwijderd

Dit doe je door in je batchfile synctoy mbv start /wait op te starten dus zoiets:
@Echo Off
Start /wait synctoy.exe

Als je het gehele path naar synctoy.exe moet opgeven en het staat in bv de program files folder dan moet je het tussen "" zetten dus:
Start /wait "c:\program files\synctoy.exe"

[ Voor 5% gewijzigd door Verwijderd op 24-03-2006 10:29 ]


  • F_J_K
  • Registratie: Juni 2001
  • Niet online

F_J_K

Moderator CSA/PB

Front verplichte underscores

Ik zou voor WSH gaan (VBScript of JScript) ipv. een batch. Is wat flexibeler en dan heb je ook geen "lelijk" scherm open staan.

VBScript:
1
2
3
4
5
6
7
8
9
10
11
Set WshShell = WScript.CreateObject ( "WScript.Shell" )
programma = "foo.exe"
maxAantalKeer = 1

n = 0
for each Process in GetObject("winmgmts:{impersonationLevel=impersonate}").ExecQuery ("select * from Win32_Process")
  c=instr(programma,process.name)
  if c <> 0 then n = n + 1
Next

if n < maxAantalKeer then WshShell.Run programma

Ik gebruik dit VBScript een enkele keer om max. 1 instantie van een programma te starten. Heeft natuurlijk wat kleine aanpassingen nodig: zet er een loop omheen met steeds bijv. 'WScript.Sleep 5000' en doe het drie keer met drie parameters :)

edit:

Tralalalaaa. Inderdaad is gewoon (twee of) drie keer 'start /wait' nog een stuk makkelijker. Zie boven en negeer mijn methode maar :+

[ Voor 10% gewijzigd door F_J_K op 24-03-2006 10:32 ]

'Multiple exclamation marks,' he went on, shaking his head, 'are a sure sign of a diseased mind' (Terry Pratchett, Eric)


  • awenger
  • Registratie: Februari 2006
  • Laatst online: 14-03 06:23
bedankt voor de reacties. Ik ga inderdaad voor de eerste optie :7
Ik ga het zo direct testen

Update:Helaas lukt het me niet, probleem is dat ik de volgende opdracht moet draaien:
code:
1
C:\Program Files\Microsoft\SyncToy\Syntoc.exe -R"Documenten"


Alleen geeft de batch als probleem dat hij in de knoop komt met de aanhalingstekens..... hoe los ik dat op?

[ Voor 64% gewijzigd door awenger op 24-03-2006 22:13 ]


  • awenger
  • Registratie: Februari 2006
  • Laatst online: 14-03 06:23
iemand die mij een handje kan helpen?

  • F_J_K
  • Registratie: Juni 2001
  • Niet online

F_J_K

Moderator CSA/PB

Front verplichte underscores

Ik ken de commandoine parameters van synctoy niet, maar waarom hier aanhalingstekens gebruiken aangezien er geen spatie is?

'Multiple exclamation marks,' he went on, shaking his head, 'are a sure sign of a diseased mind' (Terry Pratchett, Eric)


  • Donaldinho
  • Registratie: November 2002
  • Laatst online: 13-03 11:16
Misschien ook aanhalingstekens rond hele commando met pad zetten?

You almost can’t blame him or the other diet gurus for leaning in on the techno-bullshit market; it’s hard to fill up a 300 page diet book on “eat a bit less and find a type of exercise that doesn’t make you hate life.”

Pagina: 1