Jos*_*ell 3 powershell cmd powershell-2.0
将parens放在Get-Content cmdlet周围的效果是什么?为什么我可以用parens读取和写入同一个文件但不能没有?
以下是相关代码的示例.
powershell -command "(Get-Content SomeFile.sql) | ForEach-Object { $_ -replace \"BEFORE\", \"AFTER\" } | Set-Content SomeFile.sql"
Run Code Online (Sandbox Code Playgroud)
Get-Content cmdlet是否保留文件句柄,直到默认执行整个命令为止?
Get-Content cmdlet是否保留在文件句柄上
是.
如果没有parens,每次Get-Content输出一个对象(即文件中的一行文本)时都会运行管道.
另一方面,对于parens,Get-Content将运行完成,为整个文件创建一个字符串数组,然后为每一行运行管道.
因此在前一种情况下,文件将保持打开状态,而在第二种情况下,整个文件将被读入内存.
| 归档时间: |
|
| 查看次数: |
511 次 |
| 最近记录: |