这是我的代码:
<?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);
?>
如何修改语法以使多个解压缩工作?重要的是命令全部在一个字符串中,如上所述。
答案 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调用它。无论如何,你可能会碰到所有可能的安全障碍。