如何用PowerShell将文本文件内容以引号包裹赋值到其他脚本变量
纯PowerShell实现方法
1. 将可执行文件转换为Base64编码字符串
直接读取二进制文件并完成编码,比Get-Content更高效:
# 读取exe文件并转为Base64字符串 $base64Exe = [Convert]::ToBase64String([System.IO.File]::ReadAllBytes(".\GrabEventLogs.exe"))
2. 生成带引号包裹的变量赋值语句
将编码后的字符串用双引号包裹,直接生成可用于其他脚本的变量赋值代码:
# 拼接成带双引号的变量赋值行 $targetScriptLine = '$encodedGrabEventLogs = "' + $base64Exe + '"' # 可选:直接写入目标脚本文件 Add-Content -Path ".\你的目标脚本.ps1" -Value $targetScriptLine # 或者输出到控制台,手动复制到目标脚本 Write-Output $targetScriptLine
后续解码使用示例(供参考)
如果需要在目标脚本中还原exe文件,可使用以下代码:
# 解码Base64字符串并写入文件 [System.IO.File]::WriteAllBytes(".\GrabEventLogs.exe", [Convert]::FromBase64String($encodedGrabEventLogs))
内容的提问来源于stack exchange,提问作者Dirk Pitt
相关产品推荐
相关产品推荐

