【发布时间】:2019-06-24 18:21:13
【问题描述】:
我正在将文件从 Unix 复制到 Windows。 Unix 中的文件有 Windows 不接受的特殊字符。
我有一个 XML 文件,其中包含每个位置文件的标签。此 XML 文件将在其中一个应用程序中传递以进行处理。
- 选择一个 XML 文件。
- 通读属性,找到
<file>。 - 检查属性值是否有特殊字符。
- 如果没有特殊字符,则转到下一个文件。如果该值包含特殊字符 - 转到该位置并将特殊字符重命名为有效字符(例如,将
/重命名为-)。 - 在 XML 文件标签中进行同样的重命名。
- 转到下一个文件标签并选择下一个 XML 内容。
我正在考虑在 PowerShell 中执行此操作。
示例 XML:
<import>
<node type="document" action="create">
<location>XXXXXX</location>
<title>log_0.log</title>
<created>20190117</created>
<file>\test*\log/0/.log</file>
</node>
<File> 在上面的示例中有两个特殊字符...一个在文件夹名称中(*),另一个在文件名中(//)。
【问题讨论】:
-
到目前为止你尝试过什么?将您目前拥有的代码添加到您的问题中。这样就更容易为您指明正确的方向。
-
@kaspermoerch - 我试图单独做 - unix 和 xml。 Unix ..我试过 shopt -s globstar rename "s/\:?*[|]/_/g" ** xml 我还没弄清楚..我目前没有任何代码
标签: xml powershell special-characters rename file-rename