J'essaie de compacter une base de données MS-Access à l'aide de JetComp.exe en utilisant un script powershell.
Voici les lignes opérationnelles :
# 4. Run JetComp
LogWrite("Begin: Running JetComp")
.\JETCOMP.EXE -src: $srcDB -dest: $dstDB | Out-Null #Run this command and wait for it to finish...
IfErrorExit("Error Compacting Database")
LogWrite("End: Running JetComp")
Le programme JETCOMP.EXE semble se terminer bien avant qu'il ne soit réellement terminé et la $dstDB finit par être plus petite que ce que le compact devrait même faire. Initialement ($srcDB), il est d'environ 1,8 Go et au moment où la commande se termine, il est d'environ 300 000 kb (environ 0,29 gb), ce qui est assez loin de 1,8 gb qui, lorsqu'il est compacté manuellement, finit par être d'environ 1,6 gb.
Y a-t-il une sorte de délai que je ne connais pas dans les scripts de powershell ?
P.S. Je sais que lorsque vous exécutez JETCOMP.EXE manuellement, le système le détecte souvent comme "ne répondant pas", même s'il est en train de faire son travail, et qu'une attente suffisamment longue lui permettra de le terminer.
0 votes
Ok, peut-être que le & fait la même chose en powershell qu'en cmd. :(