我想将文件从一个位置复制到另一个位置,并用字符串替换第一行文本。我几乎完成了脚本,但并不完全......(见下文)
# -- copy the ASCX file to the control templates
$fileName = "LandingUserControl.ascx"
$source = "D:\TfsProjects\LandingPage\" + $fileName
$dest = "C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\TEMPLATE\CONTROLTEMPLATES\LandingPage"
#copy-item $source $dest -Force
# -- Replace first line with assembly name
$destf = $dest + "\" + $fileName
$destfTemp = $destf + ".temp"
Get-Content $destf | select -skip 1 | "<text to add>" + $_) | Set-Content $destfTemp
答案 0 :(得分:8)
不是单行,但它有效(用路径替换test1.txt和test2.txt):
.{
"<text to add>"
Get-Content test1.txt | Select-Object -Skip 1
} |
Set-Content test2.txt
答案 1 :(得分:6)
在“不止一种皮肤养猫方式”的情况下,你可以用Out-File完成同样的事情,如果这是你周四的偏好。写作是为了更好地理解流动与单线冷凝。
$x = Get-Content $source_file
$x[0] = "stuff you want to put on first line"
$x | Out-File $dest_file
这使用了Get-Content创建一个数组的事实,每一行都是该数组的一个元素。