2010-09-04 21 views
1

En utilisant la fonctionsystem de PHP, comment pouvez-vous passer des arguments à un fichier de commandes?PHP système batch args

Il serait probablement ressembler à quelque chose comme ça

system("batch.bat argument", $output);

j'ai découvert comment le faire avec un C++ exécutablehere

Je suppose que ce devrait être relativement simple ..

Quelle est la vraie question est de savoir comment recevoir l'argument avec un fichier batch?

+0

Exactement comment vous avez écrit. Y a-t-il un problème avec ça? – Mchl

+0

Non, comment RECEVEZ-vous l'argument avec le fichier batch –

Répondre

4

Vous avez raison, il n'y a pas de différence. Voici une petite démo:

d'abord un fichier batch juste sortie de ses arguments:

C:\Documents and Settings\SO>type a.bat 
@echo off 
echo %* 

Un programme php qui utilise system pour appeler le fichier batch qui passe a et b comme args:

C:\Documents and Settings\SO>type a.php 
<?php 
    system("a.bat a b",$out); 
?> 

Lors de l'exécution du php, l'appel à system appelle le fichier bat avec a et b comme arguments, le fichier de commandes s'exécute et renvoie a et b

C:\Documents and Settings\SO>php a.php 
a b 
+0

Alors, comment obtenez-vous arg [1] arg [2] etc ... –

+0

Chaque argument transmis au fichier BAT (ou CMD) est accessible avec '% 1', '% 2', ... – codaddict

+0

Dans le programme, j'ai utilisé'% * 'pour y accéder tous ensemble. – codaddict