2010-07-14 3 views
0

est ici un lot trivial:Batch avec No args s'exécute en tant que tâche (tâche planifiée) sans erreurs, Batch avec 1 arg échoue avec l'accès refusé. Pourquoi?

@echo off 
if not .%1==.-b goto else 
echo Running with -b flag ON 
goto endif 
:else 
echo Running with NO flags 
:endif 

Maintenant, en essayant de faire exécuter par une tâche planifiée sur un Windows Server 2003 ...

Si la tâche est couru comme: « C : \ test \ test.bat "puis le journal (Schedlgu.txt) dit:

"test Job.job"(test.bat) Commencez 7/14/2010 10:27:19 " test d'emploi .job "(test.bat) Terminé 7/14/2010 10:27:19 AM Résultat: La tâche s'est terminée avec un code de sortie de (0).

Cependant, lors de l'exécution comme: "C: \ Test \ test.bat -b", puis:

"Test Job.job" (test.bat -b) 7/14/2010 10: 28:02 ** ERREUR ** Impossible de démarrer la tâche. L'erreur spécifique est: 0x80070005: L'accès est refusé. Essayez d'utiliser le bouton Parcourir de la page Tâche pour localiser l'application.


La tâche est exécutée sous le compte Admin (du domaine). J'ai également accordé l'accès complet à cet utilisateur au cmd.exe local

Des pensées pour lesquelles la tâche échoue lors de l'exécution d'un lot avec un argument?

Thx

Répondre

2

Exécutez la tâche avec des paramètres comme ceci:

"C:\Test\test.bat" -b 

Notez la différence citant!

La chaîne fisrt entre guillemets est toujours considérée comme le nom du fichier, d'où le message d'erreur que vous voyez.

+0

* Facepalm * ..... merci! – tzup

Questions connexes