![Board logo](images/default/logo.gif)
标题: [原创代码] 求PowerShell批量计算文本指定数值后替换原值 [打印本页]
作者: smss 时间: 2019-7-17 14:01 标题: 求PowerShell批量计算文本指定数值后替换原值
1.文本A.xml中有大量数值需要除以1.5 有余数时4舍5入保留小数点后2位
例句- <Group pivotX="360" pivotY="933" scale="#init_tools_ani" alpha="255*#init_tools_ani" visibility="#set_tools_num==3">
复制代码
生成- <Group pivotX="240" pivotY="622" scale="#init_tools_ani" alpha="255*#init_tools_ani" visibility="#set_tools_num==3">
复制代码
过滤掉 alpha="" visibility=""之类的属性
2.计算文本B.xml中所有可计算的数值
计算所有""之间的(数字加运算符号数值) 运算符含+-*/ (加减乘除)
过滤掉 color="" fillColor="" strokeColor="" color=""的值 如color="#6f7480"fillColor="#ffffff" strokeColor="#cdcdcd"
例句- <text x="#sw-270/1.5+15*2-5" y="78.33" align="center" alignV="center" size="53.33" color="#6f7480" text="AC"/>
复制代码
生成- <text x="#sw-205" y="78.33" align="center" alignV="center" size="53.33" color="#6f7480" text="AC"/>
复制代码
作者: WHY 时间: 2019-7-23 10:04
第一个问题:- $str = [IO.File]::ReadAllText('1.txt', [Text.Encoding]::Default);
- $str = [regex]::Replace($str, '(?<==")\d*\.?\d+(?=")', { param($a); [int](100*$a.Value/1.5)/100 });
- sc 2.txt $str -Enc UTF8
复制代码
作者: WHY 时间: 2019-7-23 10:11
第二个问题, x="#sw-270/1.5+15*2-5" 结果凭什么是 x="#sw-205" ?
-270/1.5+15*2-5=-155
作者: smss 时间: 2019-7-23 20:13
本帖最后由 smss 于 2019-7-23 20:15 编辑
回复 3# WHY
举例 需要可以完成+-*/运算
欢迎光临 批处理之家 (http://bathome.net./) |
Powered by Discuz! 7.2 |