我正在尝试使用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"
答案 0 :(得分:0)
更简单的方法就是
del dir\*.sql /f /q
或通过子目录递归使用/s
开关。
根本不需要forfiles
。