在php中创建批处理文件以解压缩多个文件

时间:2011-12-09 11:54:55

标签: php batch-file

这是我的代码:

<?php

$string = "e:
cd randomddirectory
unzip -o 84557".date("ymd")."*.zip -d Extracted";

file_put_contents("extract.bat", $string);

?>

但是,当我尝试将多个文件解释为如下所述解压缩时,它会失败:

<?php

$string = "e:
cd randomddirectory
unzip -o 84557".date("ymd")."*.zip -d Extracted
unzip -o 84539".date("ymd")."*.zip -d Extracted
unzip -o 84527".date("ymd")."*.zip -d Extracted
unzip -o 84509".date("ymd")."*.zip -d Extracted";

file_put_contents("extract.bat", $string);

?>

如何修改语法以使多个解压缩工作?重要的是命令全部在一个字符串中,如上所述。

1 个答案:

答案 0 :(得分:0)

我的猜测是unzip本身就是一个批处理文件。因此,请call放在unzip之前使其正常工作:

$string = "cd /d e:\\randomddirectory 
call unzip -o 84557".date("ymd")."*.zip -d Extracted 
call unzip -o 84539".date("ymd")."*.zip -d Extracted 
call unzip -o 84527".date("ymd")."*.zip -d Extracted 
call unzip -o 84509".date("ymd")."*.zip -d Extracted";

我仍然认为有更明智的方法来创建批处理文件并从PHP调用它。无论如何,你可能会碰到所有可能的安全障碍。