PowerShell已掌握创建文件方法,如何将代码写入.ps1脚本文件?
PowerShell 写入多行代码到 .ps1 文件的常用方法
方法1:使用Here-String搭配Out-File(最适合多行代码场景)
Here-String 是PowerShell原生支持的多行文本容器,用@"和"@包裹内容,内部的换行、引号都不需要额外转义,非常适合存储完整的PowerShell代码片段:
# 把你要写入的所有代码放在 @" 和 "@ 之间 $psCode = @" # 示例代码第一行:遍历获取桌面所有png文件 $desktopPath = [Environment]::GetFolderPath("Desktop") $pngFiles = Get-ChildItem -Path $desktopPath -Filter *.png # 示例代码第二行:统计文件数量并输出 Write-Host "桌面共有 $($pngFiles.Count) 个PNG文件" # 其余代码直接按正常格式往下写即可 if ($pngFiles.Count -gt 10) { Write-Host "PNG文件数量过多,建议清理" } "@ # 覆盖写入到file.ps1,指定UTF8编码避免乱码 $psCode | Out-File -FilePath .\file.ps1 -Encoding UTF8 # 如果需要追加代码到已有file.ps1末尾,添加-Append参数即可 $psCode | Out-File -FilePath .\file.ps1 -Encoding UTF8 -Append
方法2:使用Set-Content写入
如果你的代码行可以整理为数组格式,也可以用更轻量的Set-Content命令:
Set-Content -Path .\file.ps1 -Value @( "Get-Date", "Write-Host '当前系统版本:' $env:OS", "Get-Service | Where-Object Status -eq 'Running'" ) -Encoding UTF8
快速手动写入方案
如果是临时需要写入代码,也可以直接调用记事本打开目标文件,手动粘贴代码后保存即可:
notepad.exe .\file.ps1
验证与运行提示
- 写入完成后执行
Get-Content .\file.ps1可以查看文件内容,确认代码写入正确 - 首次运行.ps1脚本前需要调整执行策略,允许本地脚本运行:
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser - 所有写入操作建议指定
-Encoding UTF8参数,避免代码含中文或特殊字符时出现乱码、语法报错
内容的提问来源于stack exchange,提问作者Estel B.
相关产品推荐
相关产品推荐

