[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
你们搞的好复杂啊:
P:
  1. @echo off &cd/d "%~dp0"
  2. setlocal enabledelayedexpansion
  3. (for /f "eol= delims=" %%a in (ref.txt) do (
  4. echo %%a>tmp
  5. findstr /i "^BATHOME" tmp>nul && (
  6. for /f "tokens=1,2* delims=," %%i in (tmp) do (
  7. set "str=%%i"
  8. set "n1=!str:~11,3!"
  9. set "n2=!str:~16,4!"
  10. echo %%i,!n1!!n2!,%%k
  11. )
  12. ) || echo %%a
  13. ))>OK.txt
  14. del /q tmp
  15. pause
复制代码
PS版 用BAT运行
  1. @echo off
  2. PowerShell "$ErrorActionPreference='SilentlyContinue';Foreach ($line in (GC '.\ref.txt' -enc Default)){if ($line -match \"^BATHOME\"){$Array=@(($line.replace('NET','NET/').replace(',','/,/').Replace('WP','/WP/')) -Split('/'));$Array[5]=([string]$Array[1]+([string]($Array[3])).SubString(0,4));$Str='';(0..($Array.Count -1))|%%{$Str=[string]$Str+[string]$Array[$_]};Write-Host $str -fore Yellow;} else {$line;}};"
  3. pause
复制代码
==================================================
1

评分人数

    • 786021512: 感谢给帖子标题标注[已解决]字样技术 + 1

TOP

回复 23# 786021512

纯p一般会过滤掉空行。你按楼上大神的方法试下。用 下面的 PS 版看能不能达到要求,如果需要 则在 PS版中加入输出文本就可以了。

一般只按你楼顶给的样本写,不在样本范围内的一般不会考虑写到脚本内。

TOP

返回列表