将 powershell 脚本的某些字符指定为 运行 on
Specifying certain characters for powershell script to run on
这可能是在黑暗中拍摄的,我已经做了一些研究,但似乎找不到任何关于此的东西。但是我猜 powershell 一切皆有可能!
我之前问过一个问题!关于如何更改脚本中的某些字符。
$infopath = Get-ChilItem "C:\Users\X\Desktop\Info\*.txt" -Recurse
$infopath | %{
(gc $_) -replace "bs", "\" -replace "fs", "/" -replace "co", ":" -replace ".name", "" | Set-Content $_.fullname
但是文本文件的某些部分可能包含 bs、fs 或 co,我不想更改。因此,我想做的是将某种参数添加到此现有脚本中,该脚本仅更改最后 70 个字符中的文本,或者在第 4 个 # 之后或第 78 个字符之后。
就像我说的,这很可能是一个荒谬的想法,但我想看看其他人的看法。
非常感谢任何帮助!
根据您关于获取第 78 个字符后的子字符串的建议,我使用 78 作为起点创建了以下内容。这将保留前 78 个字符未编辑,并在第 78 个字符之后替换给定的字符串。整个文件被替换为输出。
$infopath = Get-ChilItem "C:\Users\X\Desktop\Info\*.txt" -Recurse
$startpos = 78
$infopath | %{
$content = (gc $_);
$content.Substring(0,$startpos)+($content.Substring($startpos,$content.Length-$startpos) -replace "bs", "\" -replace "fs", "/" -replace "co", ":" -replace ".name", "")|Set-Content $_.fullname
}
希望对您有所帮助。
谢谢,克里斯。
这可能是在黑暗中拍摄的,我已经做了一些研究,但似乎找不到任何关于此的东西。但是我猜 powershell 一切皆有可能!
我之前问过一个问题
$infopath = Get-ChilItem "C:\Users\X\Desktop\Info\*.txt" -Recurse
$infopath | %{
(gc $_) -replace "bs", "\" -replace "fs", "/" -replace "co", ":" -replace ".name", "" | Set-Content $_.fullname
但是文本文件的某些部分可能包含 bs、fs 或 co,我不想更改。因此,我想做的是将某种参数添加到此现有脚本中,该脚本仅更改最后 70 个字符中的文本,或者在第 4 个 # 之后或第 78 个字符之后。
就像我说的,这很可能是一个荒谬的想法,但我想看看其他人的看法。
非常感谢任何帮助!
根据您关于获取第 78 个字符后的子字符串的建议,我使用 78 作为起点创建了以下内容。这将保留前 78 个字符未编辑,并在第 78 个字符之后替换给定的字符串。整个文件被替换为输出。
$infopath = Get-ChilItem "C:\Users\X\Desktop\Info\*.txt" -Recurse
$startpos = 78
$infopath | %{
$content = (gc $_);
$content.Substring(0,$startpos)+($content.Substring($startpos,$content.Length-$startpos) -replace "bs", "\" -replace "fs", "/" -replace "co", ":" -replace ".name", "")|Set-Content $_.fullname
}
希望对您有所帮助。
谢谢,克里斯。