2010-09-04 85 views
1

使用PHP的system函數,你怎麼能傳遞參數到一個批處理文件?PHP系統批處理參數

它可能會是這個樣子

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

我發現瞭如何用c執行它++可執行here

我猜測它應該是比較簡單..

真正的問題是如何使用批處理文件接收參數?

+0

你究竟怎麼寫的。這有什麼問題嗎? – Mchl 2010-09-04 17:06:10

+0

不,您如何獲得批處理文件的參數 – 2010-09-04 17:10:02

回答

4

你是對的,沒有區別。這裏是一個小的演示:

首先一個批處理文件,只是輸出它的參數:

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

使用system調用批處理文件傳遞ab爲ARGS一個PHP程序:

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

在運行php時,調用system調用帶有ab的bat文件作爲參數,批處理文件運行並響應a在批處理文件b

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

那麼您如何得到arg [1] arg [2] etc ... – 2010-09-04 17:12:41

+0

傳遞給BAT(或CMD)文件的每個參數都是通過'%1'訪問的, '%2',... – codaddict 2010-09-04 17:14:22

+0

在我使用'%*'程序一起訪問它們的程序中。 – codaddict 2010-09-04 17:15:31