gpt4 book ai didi

powershell - PowerShell-如果行包含字符串,请在开头插入一些字符

转载 作者:行者123 更新时间:2023-12-03 00:10:31 28 4
gpt4 key购买 nike

我有几百个这样的批处理文件:

net use s: \\ukexchange\sysshare 
net use t: \\ukccohelp\helpdesk
net use w: \\ukexchange\public
net use l: \\dwarf\apps
net use y: \\ukexchange\sysgrp
net use k: \\dwarf\sql

我想在包含字符串的每行前面放置一个REM,例如“ukexchange”
REM net use s: \\ukexchange\sysshare 
net use t: \\ukccohelp\helpdesk
REM net use w: \\ukexchange\public
net use l: \\reddwarf\apps
REM net use y: \\ukexchange\sysgrp
net use k: \\dwarf\sql

这就是我所拥有的,但是我必须为UNC路径和驱动器号的每种组合手动运行此命令。
$old = "net use l: \\dwarf\apps"
$new = "REM net use l: \\dwarf\apps"

get-childitem "c:\TEMP\Scripts" -recurse -include *.bat |
select -expand fullname |
foreach {
(Get-Content $_) -replace ("$old" -replace '\\','\\'), "$new" |
Set-Content $_
}

如果行中某处包含特定字符串,如何在行首添加一些文本?

最佳答案

您可以使用正则表达式检查ukexchange的存在。

$files = get-childitem "c:\TEMP\Scripts" -recurse -include *.bat | select -expand fullname

foreach ($f in $files) {
$c = Get-Content $f | % { $_ -replace '(.*ukexchange.*)', 'REM $1' }
$c | Set-Content $f
}

如果遇到字符串,则将整行存储到匹配组变量 $1中,您可以简单地在其前面添加 REM

关于powershell - PowerShell-如果行包含字符串,请在开头插入一些字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50043855/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com