Powershell的PHP输出中79个字符后出现空格
这里有个不寻常的问题!我正在PHP中执行Powershell。下面是一个示例,我们将Powershell命令的输出捕获到$query中:Powershell的PHP输出中79个字符后出现空格,php,powershell,echo,Php,Powershell,Echo,这里有个不寻常的问题!我正在PHP中执行Powershell。下面是一个示例,我们将Powershell命令的输出捕获到$query中: $query = shell_exec("powershell -command $psScriptPath -logFile'$logFile' -param1 '$blah'< NUL"); 查看生成的源代码显示: L:\transcripts\activedirectory\change-display-name\2012-03-03-23520
$query = shell_exec("powershell -command $psScriptPath -logFile'$logFile' -param1 '$blah'< NUL");
查看生成的源代码显示:
L:\transcripts\activedirectory\change-display-name\2012-03-03-235201-itwrm-admi
n.txt<br />
L:\transcripts\activedirectory\change display name\2012-03-03-235201-itwrm-admi
n、 txt
另一个例子是在Powershell中:
Write-Output "ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZ<br />"
写入输出“abcdefghijklmnopqlstuvxyzabcdefghijklmnopqrstuvxyzabefghijklmnopqrstuvxyzabefghijklmnopqrstuvxyzabcdefghijklmnopqrstuvxyz
”
给出:
ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZA
BCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZ<br />
abcdefghijklmnopqrstuvxyzabcdefghijklmnopqrstuvxyzabcdefghijklmnopqrstuvxyza
bcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvxyz
这就好像PHP以某种方式包装了文本?或者,Write-output的输出在将其发送回PHP(到$query中)之前将其包装
如果我在PHP中回显“abcdefghijklmnopqrstuvwxyzabefghijklmnopqrstuvxyzabefghijklmnopqrstuvxyzabefghijklmnopqrstuvxyzabefghijklmnopqrstuvxyz”并查看源代码,它将显示在一行中,不带上述中断符
我遇到了wordwrap函数,但看不出这有什么帮助。不太清楚现在发生了什么
编辑:这可能与Powershell控制台的默认缓冲区大小为80个字符宽有关吗
谢谢你的帮助 您已经有了答案,但当我遇到同样的问题时,我会在脚本中添加一段代码(如果内存可用,我会在StackOverflow上找到这段代码):
我打赌Powershell控制台会对其输出进行文字包装。cmd.exe的默认窗口大小为80个字符。是的,就是这样。把所有的问题都打出来让我意识到。我设法通过增加Powershell脚本顶部窗口的缓冲区宽度来解决这个问题。我现在没有足够的代表,所以无法发布代码。你也尝试过PHP吗?@AndyArismendi有趣。直到现在我才意识到两者之间的区别。虽然我有一个解决方案,但值得知道!是的,这正是我发现的(来自Heyscript Guy):)
L:\transcripts\activedirectory\change-display-name\2012-03-03-235201-itwrm-admi
n.txt<br />
Write-Output "ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZ<br />"
ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZA
BCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZ<br />
if ($Host -and $Host.UI -and $Host.UI.RawUI)
{
$rawUI = $Host.UI.RawUI
$oldSize = $rawUI.BufferSize
$typeName = $oldSize.GetType().FullName
$newSize = New-Object $typeName (500, $oldSize.Height)
$rawUI.BufferSize = $newSize
}