【发布时间】:2014-01-15 16:55:13
【问题描述】:
我有这个批处理文件,它通过文件夹中包含的文件查找字符串。
@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
有什么建议吗?
【问题讨论】:
-
所以你的分隔符实际上是
\n作为换行符,而不是空格(不知道 HTML 不理解换行符有多么有趣,如果它们没有被标记明确表示,断线。所以如果没有
,网页不会断线) -
我已尝试按照建议的here 使用
"\n"来展开它,但它不起作用,所以我不确定它实际上是如何在内部分隔行的。 -
那么当你在
\n或\n\r上爆炸时输出是什么? -
好的,问题是
system的使用。我将其更改为exec,现在它以数组的形式返回它。
标签: php batch-file command-line windows-console