从 php 执行批处理脚本

问题描述 投票:0回答:1

我创建了一个网页,在其中尝试执行之前构建的批处理文件。

我有以下 php 代码:

> $fichier_batch = fopen("C:\\testrequette.bat", "w");
> if ($fichier_batch) {
>                     // Échapper les barres obliques simples pour éviter l'interprétation incorrecte
>                     $commande = $requete_sql;
> Ajouter une pause à la fin du fichier batch
>                     //$commande .= "\nPause";
> Ajouter la commande "cd %~dp0"
> fwrite($fichier_batch, "cd %~dp0\n");
> fwrite($fichier_batch, $commande);
> fclose($fichier_batch);
> echo "<p>Le fichier batch a été créé avec succès.</p>";
> Commande pour exécuter le fichier batch en tant qu'administrateur
>                     //$commande_exec = "cmd.exe";
>                   $commande_exec = "C:\\testrequette.bat\"";
> Exécuter le fichier batch                 
>                     $resultat_execution = exec($commande_exec, $output, $return_var);
> echo "<p>Résultat de l'exécution du fichier batch : $resultat_execution</p>";
> echo "<pre>Sortie de la commande : " . print_r($output, true) . "</pre>";
> echo "<p>Code de retour : $return_var</p>";
> else {
> echo "<p>Erreur lors de la création du fichier batch.</p>";
>  }

我得到了很好的回报:

突击队:阵列

(
    [0] => 
    [1] => C:\wamp64\www>cd C:\
    [2] => 
    [3] => C:\>my command 
)

但是批处理文件没有执行

你看到什么了吗?

谢谢

我也尝试使用 shell_exec() 函数,但结果相同。` 我尝试: system("cmd /c c: estrequette.bat"); 没有成功。 我暂时用 wamp 服务器在本地尝试一下

php batch-file
1个回答
0
投票

感谢您的评论:

文件批处理已在 c:\ 上正确创建:此时没有权限问题:我也尝试从桌面创建并启动它:相同的结果

网络服务器是我自己的机器,在 Windows 上运行。

© www.soinside.com 2019 - 2024. All rights reserved.