現在、約200人の学生をActiveDirectoryにインポートする必要があります。サーバー上にユーザーとフォルダーを作成する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"