找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 18960|回复: 4

[问题求助] [已解决]求合并一句PowerShell脚本

[复制链接]
发表于 2019-6-22 22:45:44 | 显示全部楼层 |阅读模式
本帖最后由 smss 于 2019-6-24 16:25 编辑
  1. $str = [IO.File]::ReadAllText('manifest.xml', [Text.Encoding]::UTF8);
  2. $str = $str -replace '(?m)^\s+|\s*(?:\n|$)' -replace '<!--(?:(?!-->).)*-->'  -replace '(?<!<\S+)\s+';
  3. $str = [regex]::Replace($str, '(?<=<[^<>\s]+)\s+[^<>]+"(?=\s*/?>)', {param($m); [Collections.ArrayList]$a=$m.Value -split '(?<=="[^"]*")';$a.Reverse();$a -join ''});
  4. [IO.File]::WriteAllText('1.xml', $str, [Text.Encoding]::UTF8);
复制代码
  1. Get-Date -Format "<!--smss于yyyy年M月d日 HH:mm:ss制作-->" |  out-file -filepath 1.xml -appen
复制代码
需要把最后一句改为
放在生成文本第二行
目前是追加到文本尾
而不是文本的第二行
最好注释说明下谢谢
发表于 2019-6-24 15:43:23 | 显示全部楼层
第一个脚本把回车换行符全部删掉了,生成的 1.xml 只有一行。
第二个脚本生成了一个注释语句,追加到第二行,也是最后一行,有什么问题吗?
第二个脚本 $file2 指的什么? 你的样本在哪里?
 楼主| 发表于 2019-6-24 15:47:48 | 显示全部楼层
本帖最后由 smss 于 2019-6-24 16:27 编辑

回复 2# WHY

对不起 我改过一次 让你发现了
下面这句加至$file2 也就是生成的1.xml的第二句 直接运行会对UTF8编码的xml生成乱码 呜呜呜
  1. Get-Date -Format "<!--smss于yyyy年M月d日 HH:mm:ss制作-->" |  out-file -filepath $file2 -appen
复制代码
发表于 2019-6-24 16:08:11 | 显示全部楼层
回复 3# smss
  1. "`r`n<!--smss于" + (Get-Date).ToString("yyyy年M月d日 HH:mm:ss制作-->") | out-file -filepath $file2 -appen -Enc UTF8
复制代码
把这一句放到第一个脚本的最后
 楼主| 发表于 2019-6-24 16:14:50 | 显示全部楼层
回复 4# WHY 谢谢大神
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-17 01:45 , Processed in 0.013335 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表