[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
本帖最后由 WHY 于 2019-5-21 09:39 编辑

test.ps1
  1. $str = [IO.File]::ReadAllText('a.txt', [Text.Encoding]::Default);
  2. $str = $str -replace '(?m)^\s+|\s*(?:\n|$)' -replace '<!--(?:(?!-->).)*-->';
  3. $str = [regex]::Replace($str, '(?<=<[^<>\s]+)\s+[^<>]+"(?=\s*/?>)', {param($m); [Collections.ArrayList]$a=$m.Value -split '(?<=="[^"]*")';$a.Reverse();$a -join ''});
  4. [IO.File]::WriteAllText('b.txt', $str, [Text.Encoding]::UTF8);
复制代码
如果要保存为Test.BAT
(1) 对ps脚本块而言,双引号用反斜杠转义;
(2) 对bat脚本而言,暴露在 "双引号对" 之外的特殊字符用^转义。
  1. @echo off
  2. PowerShell "$s = [IO.File]::ReadAllText('a.txt', [Text.Encoding]::Default) -replace '(?m)^\s+|\s*(?:\n|$)' -replace '<!--(?:(?!-->).)*-->';$s = [regex]::Replace($s, '(?<=<[^<>\s]+)\s+[^<>]+\"(?=\s*/?^>)',{param($m);[Collections.ArrayList]$a=$m.Value -split '(?^<==\"[^\"]*\")';$a.Reverse();$a -join ''});sc b.txt -Value $s -Enc UTF8"
  3. pause
复制代码
1

评分人数

    • smss: 就服你技术 + 1

TOP

回复 3# smss


    好,站内短信发给你了。

TOP

返回列表