我有这个批处理文件,它通过文件夹中包含的文件查找字符串。
@echo off
pushd "%1"
findstr /m /C:%2 *
popd
如果我从命令行执行该操作,它会打印包含搜索字符串的文件的名称。
从PHP开始,使用以下命令执行批处理文件:
system("cmd /c C:/path/myFile.bat C:/path toSearch", $returned);
问题是$returned
元素是字符串而不是数组。
它的每个元素都被一个空白区域隔开。
我正在考虑将其爆炸,但由于某些文件还包含空格,因此无法实现。
有趣的是,在我打印结果字符串的页面的源代码中,每个元素实际上都是一行,如下所示:
element1
second element
third element
但是生成的HTML代码是这样的:
element1 second element third element
有什么建议吗?
答案 0 :(得分:0)
解决。
问题是system
会自动打印执行文件的输出。
我为exec
更改了它,现在在$returned
变量中返回了一个数组。
exec("cmd /c C:/path/myFile.bat C:/path toSearch", $returned);