Powershell 输出文件在从自身传送时会清除文件

2023-12-01

我正在使用以下命令:

get-content C:\somepath\Setup.csproj | 
        select-string -pattern '<None Include="packages.config" />' -notmatch | 
        Out-File -filepath C:\somepath\Setup.csproj -force

这个想法是删除Setup.csproj中包含文本的任何行<None Include="packages.config" />.

但是,当我运行上述命令时,我的 Setup.csproj 文件被清空(它从有一堆文本变为没有测试)。

但是,如果我更改命令以输出到新文件 Setup2.csproj,则会创建新文件并包含我想要的内容:

get-content C:\somepath\Setup.csproj | 
        select-string -pattern '<None Include="packages.config" />' -notmatch | 
        Out-File -filepath C:\somepath\Setup2.csproj -force

这工作正常,我想我可以删除原来的并将Setup2.csproj重命名为Setup.csproj,但如果它可以一步完成,我会更喜欢它。

有没有办法使用上面的 get-content 和 select-string 方法,然后在同一个文件上调用 Out-File ?

(注意,我从这里得到了上面的例子question.)


管道传输单个项目,而不是等待累积前面命令的整个输出,因此管道在创建时就在begin { }每个部分的块。在您的情况下,输出文件流是在实际处理开始之前创建的,从而覆盖输入。

将命令括在括号中:

(Get-Content C:\somepath\Setup.csproj) | Select-String ......

它强制在管道启动之前对所包含的命令进行完整评估,在这种情况下,整个文件内容作为字符串数组获取,然后将该数组输入到管道中。

它与存储在临时变量中基本相同:

$lines = Get-Content C:\somepath\Setup.csproj
$lines | Select-String ......
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Powershell 输出文件在从自身传送时会清除文件 的相关文章

  • 从文本文件中删除行(如果其开头为)

    我有包含无效记录的大型文本文件 我想删除第一个字段为空白的所有行 文件分隔符是波浪号 所以本质上我想删除第一个字符为 的所有行 有人可以协助编写 PowerShell 代码吗 我似乎无法正确理解 只需添加我评论中的答案部分作为答案 以便人们
  • 在 PowerShell 中过滤 TreeView 节点

    我的 TreeView 中有大量节点 并且有一个文本框可以过滤它们以突出显示匹配的搜索 然而 它有点混乱 因为它显示了所有其他节点 并且在我更改搜索后 它使所有节点都展开 我正在尝试做这样的事情 https www codeproject
  • 将所有文件与指定目录(和子目录)中的所有文件进行二进制比较

    我需要将目录及其子目录中包含的所有文件与同一目录及其子目录中包含的所有其他文件进行比较 并将匹配文件的路径记录到文本文件或 CSV 我意识到有一些软件工具可以做到这一点 但除非它可以在 Windows 中开箱即用 否则我将不被允许在我的网络
  • PowerShell - 用户必须在下次登录时更改密码

    这就是我所拥有的 到目前为止 除了我需要用户在登录时更改密码的部分之外 一切都运行良好 Import Csv C Users user Desktop newuser csv New ADUser PassThru Set ADAccoun
  • 区分注册表项和值路径

    是否有相当于 System IO DirectoryInfo and System IO FileInfo 用于区分注册表项和值 我想评估一条路径并为用户记录该路径的最终目标是什么 到目前为止 这就是我所拥有的 而且有点丑陋 path Re
  • PowerShell 中的变量作用域

    PowerShell 的一个遗憾是函数和脚本块是动态作用域的 但另一件事让我感到惊讶的是 变量在内部作用域内表现为写时复制 array g function foo array h Write Host array array s Writ
  • 当父 powershell 进程被杀死时杀死子进程

    我的用例如下 在 Visual Studio 中 在调试时 我启动 powershell 并提供一个脚本 该脚本与几个操作一起启动项目可执行文件 如下所示 exeToStart exeParams Out Host 当我从 powershe
  • 如何更改参数的抛出消息?

    问题 希望更改显示的错误消息 表示需要将 passed warning 或 failed 包含在 cmdlet 参数中 或者不关心这三个参数是否丢失并写入消息 假设它在那里 解释 创建了一个接受三个参数的函数 一条消息 第二条消息和消息状态
  • Powershell如何查询COM对象上的接口

    我使用 Powershell 创建了一个 COM 对象 obj new object com MyLib MyObj 然后我需要查询接口 MyLib MyInterface 那个对象上 但我不知道如何使用 PowerShell 来做到这一点
  • 使用 powershell 从 tfs 获取项目的最新版本

    我正在尝试使用 powershell 自动化我们的日常开发人员任务 我的 powershell 脚本已经完成一半了 我想从 TFS 获取特定项目的最新版本 开发人员将可以访问 TFS 中的多个项目 在这些项目中 特定项目下的文件需要更新 我
  • 如何在 PowerShell 中批量重命名文件?

    我正在尝试执行以下操作 Rename Item c misc xml tmp 我基本上想将目录中每个文件的扩展名更改为 tmp代替 xml 我似乎无法在 PowerShell 中找到直接的方法来执行此操作 来自帮助文档中的示例4Rename
  • 域用户的AD密码有效期

    我正在使用以下命令从其他域获取用户信息 并且我成功获取了该数据 如何添加过滤器以获取以下查询中用户的密码到期日期 获取 ADuser 用户名 服务器 abc com 这不是超级简单 你必须计算它 Get ADUser username se
  • PowerShell 脚本将双引号内的逗号替换为空

    我有一个逗号分隔的 CSV 文件 我打算将双引号中的逗号替换为空 并将双引号替换为空 Editor s note The original form of this question asked to change the delimite
  • 如何声明字符串数组(多行)

    为什么 dlls Count返回单个元素 我尝试这样声明我的字符串数组 basePath Split Path MyInvocation MyCommand Path dlls basePath bin debug dll1 dll bas
  • 使用 ICACLS 将文件权限设置为“只读”[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我很难从简单 直观的方式转变过来chmod 400尝试在 Windows 命令提示符中执行相同的操作ICACLS 与 UNIX LINUX
  • PowerShell 5.1 为什么这两个函数返回不同的类型

    function Main result1 DoWork1 result1 GetType result2 DoWork2 result2 GetType function DoWork1 result1 Invoke Sqlcmd Que
  • Powershell 将字符串转换为 System.Net.IPAddress

    我是 powershell 新手 我正在尝试自动创建 DHCP 预留 到目前为止 我可以像这样获取 IP 地址 IP GEt VM ComputerName HVCOMPUTERNAME VMName HVNAME Get VMNetwor
  • 如果未安装软件则安装 Chocolatey 软件包,但如果已安装较新版本的软件则跳过安装?

    我使用以下 PowerShell 脚本通过 Octopus 部署步骤安装 dotnetcore windowshosting 版本 1 1 1 ChocolateyPackageId 等于 dotnetcore windowshosting
  • 我怎么知道PowerShell函数参数被省略了

    考虑这样的函数 function Test foo bar 我们可以称之为 Test foo null Test 我如何知道何时省略了 foo 以及何时为 null 如果您使用的是 Powershell V2 或更高版本 则可以使用 PSB
  • Powershell pscustomobject 格式-表新行而不是一行

    我有一个非常大的员工 JSON 响应 我正在尝试将其转换为表格式 导出为 CSV 并最终插入到 SQL Server 中 我能够确定如何从 json 文件中获取所有变量 但是现在我将所有值插入到每列的一行中 而不是为每个员工插入一个新行 另

随机推荐

  • 为什么bottom:0 不能与position:sticky 一起使用?

    我试图了解 css 粘性 的作用 我可以让它粘在其父级的 顶部 但还没有到 底部 我的测试代码是 block background pink width 50 height 200px move position sticky bottom
  • 使用 XSD 文件生成 XML 文件

    如何从 XSD 文件生成 XML 文件 假设我们有 Test xsd 文件 如下所示
  • 未捕获的类型错误:elem.nodeName.toLowerCase 不是函数 Jquery

    我正在开发一个项目 该项目运行良好 但今天突然显示类型错误 未捕获的类型错误 elem nodeName toLowerCase 不是函数 Jquery 下面是我收到错误的代码 A method for determining if a D
  • 如何点击更改模型的颜色,然后将其改回原来的颜色?

    我正在尝试在 ARKit 中创建一个功能 如果用户点击 modelEntity 它的颜色就会更改为蓝色 这样就表明它已被选中 但是 如果用户点击另一个实体 则先前选择的实体的材质会变回选择之前的状态 所以我可以用这段代码改变它的颜色 let
  • boost RNG 的线程安全

    我有一个循环 应该通过插入一个 openmp pragma 来很好地并行化 boost normal distribution
  • MATLAB - 从 jpeg_write.c 创建 maxmaci64 时出错

    我在使用来自 jpeg 工具箱的 jpeg read c 和 jpeg write c 的 Mex 制作 mexmaci64 文件时遇到问题 我问了我的问题herejpeg read 的问题解决了 但当我编译jpeg write c时仍然有
  • 如何使用jquery Ajax函数在IE浏览器中读取xml数据

    我需要在 AJAX 函数中使用 jquery 读取 xml 数据 这在 firefox 中工作正常 但是我被 IE 浏览器困住了 我无法读取 xml 程序需要从 xml 文件中读取 proptype 我有放置警报警报 theXml 但在 I
  • 如何在循环中使用 writeHexByte 显示到屏幕上?

    我在启动时显示了 displayChar 字符 现在我如何添加 writeHexBytes 然后在循环中使用 writeHexByte 和 writeHexWord 在屏幕上显示 写入十六进制字节 需要一个 8 位寄存器 通过调用显示它 转
  • Java:查找文件的最后一行是否为空

    我有一个关于需要用 Java 完成的学校作业的问题 我需要从文件加载数据并检查这些文件中的错误 我用 a 读取了该文件bufferedReader它完美地工作到文件末尾 如果最后一行为空 它会忽略该行 我知道如何检查空行 但最后一行根本没有
  • 运行循环实际上是如何工作的

    这个月初我问了这个问题 什么是运行循环 在阅读了答案并做了一些尝试后 我让它工作了 但我仍然不完全理解它 如果运行循环只是与线程关联的循环 并且它不会在幕后生成另一个线程 那么我的线程 主线程以保持简单 中的任何其他代码如何执行而不会被 阻
  • 如何在 Spring Jms Tibjms 中在多个虚拟机之间共享发布在主题上的消息

    我的应用程序正在使用发布到主题的消息 我有 3 台服务器 我的应用程序代码正在运行 在当前的实现中 消息被分发到所有正在运行的虚拟机 即每个消费者都会收到消息的副本 我的要求是每个消费者都应该收到不同的消息 即没有两个消费者应该收到相同的消
  • 在 CSS3/HTML5 中使用自定义字体?

    我的 CSS 样式表开头有这段代码 当然链接到我的 index html font face font family Calibri src local Calibri local Calibri url fonts Calibri Bol
  • React Router 默认路由重定向到 /home

    我对反应以及我选择使用的路由器和引导程序库非常陌生 它们基本上只是react router bootstrap 我只是对事物有了一些感觉 我想制作一个具有一些基本 url 导航的网络应用程序 我有 4 个部分 主页浏览添加和关于 单击链接效
  • 将 PDF 转换为 PNG

    我正在尝试将 PDF 转换为 PNG 图像 至少是一个封面 我已经使用 pdftk 成功提取了 PDF 的第一页 我正在使用 imagemagick 进行转换 convert cover pdf cover png 这是可行的 但不幸的是
  • 在 Swift 中逐像素地对图像应用视觉效果

    我的大学任务是创建视觉效果并将其应用于通过设备摄像头捕获的视频帧 我目前可以获取图像并显示 但无法更改像素颜色值 我将示例缓冲区转换为 imageRef 变量 如果将其转换为 UIImage 一切正常 但现在我想将 imageRef 逐像素
  • Mapbox GL 3D 单体建筑高光选择

    如何将鼠标悬停在一个 3D 建筑物上时突出显示它 OSM 建筑之类的东西突出了特色 看来mapbox street v7的建筑图层要素属性太少了 只包括 拉伸 高度 最小高度 类型 地下 没有任何独特的属性来区分这座建筑 有没有办法包含建筑
  • 如何运行Python CGI脚本

    我以前从未设置过服务器 更不用说Python服务器了 我有点迷失了 我如何使用以下代码 我尝试将其放入 cgi bin 目录中 但没有成功 它返回了内部服务器错误 看看这个here usr bin env python Funf Open
  • nameof 的目的是什么?

    6 0版本新增了一个功能nameof 但我无法理解它的目的 因为它只是获取变量名称并在编译时将其更改为字符串 我认为它在使用时可能有一些目的
  • 更改 WooCommerce 我的帐户客户订单的排序

    在 WooCommerce 中 客户可以登录其帐户并查看订单历史记录 默认情况下 订单首先显示最新的订单日期 我想扭转这一局面 因此日期最早的订单首先显示 我找不到任何地方可以更改 ASC DESC 的排序 查看模板文件woocoommer
  • Powershell 输出文件在从自身传送时会清除文件

    我正在使用以下命令 get content C somepath Setup csproj select string pattern