我正在尝试使用 exec() 中的 forfiles 递归地仅删除目录中的 sql 文件。
这就是我所拥有的:
$dir = date('D jS, M Y \a\t H-i a') ;
exec('forfiles /p "E:\Database Dump\\'.$dir.'\" /m *.sql /c "cmd /c del @file"') ;
但是,当我在命令提示符下运行我的 PHP 脚本时,它说“@file”不是参数/有效选项。
我知道它一定与路径名中的空格有关(我认为!),我尝试在不带引号的情况下运行它,用 / 和 ^ 转义空格,但没有任何乐趣。
我怎样才能做到这一点?
这是一个回声:
forfiles /p "E:\Database Dump\Fri 9th, Nov 2012 at 10-36 am\" /m *.sql /c "cmd /c echo @file"