[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
PowerShell
  1. $str = [IO.File]::ReadAllText('D:\Test\a.txt', [Text.Encoding]::Default);
  2. [regex]::Replace($str, '(?m)^(\s*\S+)', {param($m); ($m.Value/10).ToString('e8')})
复制代码

TOP

PowerShell
  1. $str = [IO.File]::ReadAllText('D:\Test\a.txt', [Text.Encoding]::Default);
  2. [regex]::Replace($str, "[^`r`n]+", {param($a); $i=0; [regex]::Replace($a.Value, '\S+', {param($b); ($b.Value/++$i).ToString('e8')})})
复制代码

TOP

这个帖子真的特么火了吗?
  1. @echo off
  2. set "r='\d+\.?\d*[Ee][-+]\d{3}'"
  3. md new\ 2>nul
  4. PowerShell -c "dir *.txt|%%{$str=[IO.File]::ReadAllText($_,[Text.Encoding]::Default);[regex]::Replace($str,\"[^^`r`n]+\",{param($a);$i=0;[regex]::Replace($a.Value,%r%,{param($b);($b.Value/++$i).ToString('e8')})})>('new\'+$_.Name)}"
  5. pause
复制代码

TOP

发现win8.1(PowerShell 4.0)与 win7(PowerShell 2.0)在脚本块中定义变量有区别
脚本块中的变量作用域原本应该是Local性质的,但win7把它当作Global传递,混乱了。

以下代码win7、win8.1测试通过(第1列/10;第2列/20;第3列/30;......):
  1. @echo off
  2. set "r='\d+\.?\d*[Ee][-+]\d{3}'"
  3. set "s=[IO.File]::ReadAllText($_,[Text.Encoding]::Default)"
  4. md new\ 2>nul
  5. PowerShell -c "dir *.txt|%%{[regex]::Replace(%s%,\"[^^`r`n]+\",{param($a,$global:i=0);[regex]::Replace($a.Value,%r%,{param($b);($b.Value/++$global:i/10).ToString('e8')})})>('new\'+$_.Name)}"
  6. pause
复制代码

TOP

返回列表