本帖最后由 WHY 于 2018-8-29 16:53 编辑
- ForEach( $file In (dir *.dxf) ) {
- $arr = [IO.File]::ReadAllLines($file, [Text.Encoding]::UTF8);
- $arr = $arr -match '工程|图' -replace '\s+'; #匹配包含"工程" 或 "图"的行、删除空格
- $arr = $arr -replace '^\(\(FRAME.*PLOTFILEPREFIX."([^"]+)".*$', '$1';
- $arr = $arr -NotMatch '^.{1,5}$|数据链接\^|[c-zC-Z]:\\' #删除不符合要求的行
- $arr = $arr | sort -Unique; #删除重复行
- $str += '"' + $file.Name + '","' + ($arr -join '","') + '"' + "`r`n";
- }
- sc a.CSV -Value $str;
复制代码 Win10 v1803 测试没有问题 |