我們目前必須將大約200名學生導入我們的活動目錄。我們有一個BAT文件,用於創建服務器上的用戶和文件夾。帶參數的PHP Windows Bat文件
我已經寫了一個腳本,它掃描我們的MSSQL數據庫爲新學生,將它們保存到一個數組,然後使用system()調用cmd.exe並運行BAT文件來創建學生。
BAT文件位於我的Y驅動器(位於另一臺服務器上)。我們目前也使用DFS路徑,所以我可以通過這種方式訪問bat文件。
其值得注意: 1)兩個路徑到BAT文件中有空格的 2)我需要將參數傳遞給BAT文件以及
目前,這是我的系統的狀態()參數在PHP中:
$bat = escapeshellcmd("cmd /c Y:\SharedRes\Path To Createstudent\createstudent.bat {$stuArray['forename']} {$stuArray['surname']} {$stuArray['username']} {$stuArray['year']} {$stuArray['sf']}");
system($bat);
並與DFS路徑:
$bat = escapeshellcmd("cmd /c '\\organisation.local\Path To Createstudent\createstudent.bat {$stuArray['forename']} {$stuArray['surname']} {$stuArray['username']} {$stuArray['year']} {$stuArray['sf']}'");
system($bat);
每次我嘗試運行此,我得到以下錯誤:
The filename, directory name, or volume label syntax is incorrect
任何想法如何讓PHP實際運行BAT文件?我目前很難過。
非常感謝
菲爾
PS我正在通過命令行的PHP腳本:
php.exe -f "C:\import.php"
如果路徑中有空格,路徑是否需要加雙引號?可能是一個愚蠢的問題,從來沒有嘗試過這個個人 –
我試圖用單引號封裝整個語句,然後在雙打中的路徑,似乎也沒有工作。它將路徑中的第一個空間視爲路徑的結尾。我會再給它三次檢查! –
@Daniel Casserly其實,我已經試過了,注意到我的錯誤!我可以讓Bat文件立即運行! –