为什么我在powershell中运行这个命令时会这样:
$output = (svn stat) -match '^\?' # which $output is an [object] in this case.
查看变量 $output 时,我在 PowerGUI 脚本编辑器控制台中获得了以下输出:
? Projects\TestProject\Thisisatest.txt
? Projects\TestProject\Thisisatest - Copy.txt
但是当我运行这个命令时:
[string] $output = (svn stat) -match '^\?'
我得到这些结果:
? Projects\TestProject\Thisisatest.txt ? Projects\TestProject\Thisisatest - Copy.txt
似乎在使用 [string] 时它会执行某种类型的编码,它会删除换行符,我不知道为什么?
更新的user978511 这里是小示例代码和输出
Clear-Host
Set-Location "C:\svn\Development\Projects\TestProjects\build"
$output = (svn stat) -match '^\?'
'$output results'
$output
'$output2 results'
[string] $output2 = (svn stat) -match '^\?'
$output2
输出:
$output results
? Projects\TestProject\Thisisatest.txt
? Projects\TestProject\Thisisatest - Copy.txt
$output2 results
? Projects\TestProject\Thisisatest.txt ? Projects\TestProject\Thisisatest - Copy.txt
感谢任何可以提供帮助的人。