无需额外工具用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>节点,请检查文件结构" }
关键说明
- 路径处理:用
$env:APPDATA和$env:USERNAME自动获取系统环境变量,避免硬编码路径 - XML操作:通过 PowerShell 内置的 XML DOM 接口操作,保证文档结构的合法性
- 节点定位:使用 XPath 语法精准找到目标节点,兼容不同的 XML 缩进或格式
注意事项
- 确保对目标文件有写入权限,若文件被 Revit 或 Dynamo 占用,需先关闭相关程序
- 建议操作前备份原文件,避免意外修改导致问题
内容的提问来源于stack exchange,提问作者TCD002
相关产品推荐
相关产品推荐

