我们目前必须将大约 200 名学生导入我们的活动目录。我们有一个 BAT 文件,它在服务器上创建用户和文件夹。
我编写了一个脚本,它扫描我们的 MSSQL 数据库中的新学生,将它们保存到一个数组中,然后使用 system() 调用 cmd.exe 并运行 BAT 文件来创建学生。
BAT 文件位于我的 Y 驱动器上(位于另一台服务器上)。我们目前还使用 DFS 路径,因此我也可以通过这种方式访问 bat 文件。
值得注意的是:1)BAT文件的两个路径中都有空格2)我还需要将参数传递给BAT文件
目前,这是我在 PHP 中的 system() 参数的状态:
$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"