You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

无需额外工具用PowerShell修改DynamoSettings.xml添加自定义包路径

PowerShell 修改 DynamoSettings.xml 添加自定义包路径

CMD 的 >> 追加方法之所以失败,是因为 XML 是结构化文档,直接文本追加会破坏其层级结构,必须通过 XML 解析的方式进行修改。以下是无需额外工具、用 PowerShell 实现需求的可行方案:

# 拼接目标文件路径
$settingsPath = Join-Path $env:APPDATA "dynamo\Dynamo Revit\2.3\DynamoSettings.xml"
# 定义要添加的自定义包路径(自动替换当前用户名)
$newPackagePath = "C:\Users\$env:USERNAME\OneDrive\DT-s\Revit Scripts\Dynamo\Custom Packages"

# 加载XML文件到DOM对象
$xml = [xml](Get-Content $settingsPath)

# 通过XPath定位<CustomPackageFolders>节点
$targetNode = $xml.SelectSingleNode("//CustomPackageFolders")

if ($targetNode) {
    # 创建新的<string>元素
    $newStringElement = $xml.CreateElement("string")
    $newStringElement.InnerText = $newPackagePath

    # 将新元素追加到目标节点的子元素末尾(即在已有<string>条目之后)
    $targetNode.AppendChild($newStringElement) | Out-Null

    # 保存修改后的XML文件
    $xml.Save($settingsPath)
    Write-Host "自定义包路径已成功添加"
} else {
    Write-Host "未找到<CustomPackageFolders>节点,请检查文件结构"
}

关键说明

  1. 路径处理:用 $env:APPDATA 和 $env:USERNAME 自动获取系统环境变量,避免硬编码路径
  2. XML操作:通过 PowerShell 内置的 XML DOM 接口操作,保证文档结构的合法性
  3. 节点定位:使用 XPath 语法精准找到目标节点,兼容不同的 XML 缩进或格式

注意事项

  • 确保对目标文件有写入权限,若文件被 Revit 或 Dynamo 占用,需先关闭相关程序
  • 建议操作前备份原文件,避免意外修改导致问题

内容的提问来源于stack exchange,提问作者TCD002

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.04 06:30:47