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

[文本处理] 批量提取N个文本的指定内容行数并加入序列

这是之前ivor大佬帮助别人解决 “批量提取N个文本的指定内容行数”的代码
------------------------------------------------------
变量参考例子:
num=1..3    提取2(正数)至4(正数)行内容
num=3    提取第4(正数)行内容
num=-3    提取-3(倒数)行内容
num=-1..-3    提取-1(倒数)至-3(倒数)行内容
num=-1..3    提取-1(倒数)和 1 至 4(正数)行内容   慎用:不建议
num=1,5,9    提取2,6,10(正数)行内容
num=-1,-5,-9    提取-1,-5,-9(倒数)行内容

代码内容
  1. <# :
  2. @echo off
  3. rem 增强代码兼容性,代码保存为 ".bat"、".cmd"、".ps1"均可执行
  4. powershell Set-ExecutionPolicy -ExecutionPolicy RemoteSigned
  5. more +8 "%~f0" >"%~dpn0.ps1"
  6. powershell -File "%~dpn0.ps1"
  7. del "%~dpn0.ps1" & pause & exit /b
  8. #>
  9. del 输出结果.txt -ErrorAction "SilentlyContinue"
  10. $num = 1..3
  11. dir *.txt | foreach {
  12.     $line = get-content "$_"
  13.         foreach ($l in $line[$num])
  14.         {
  15.             -Join($_.Name, " ", $l) | out-file -Append "输出结果.txt"
  16.         }
  17. }
复制代码
----------------------------------------------------------

我有一个额外的需求
输出结果的时候能否加一个序列

比如我提取的是文档的前两行,目前代码输出的结果如下:
  - name: Fast
    uuid: "57e0cb4d-eae5-48ec-8071-149dc2b3ea4q"
  - name: Fast
    uuid: "96e0cb4d-eare-4802-8091-149dc2b309e0"
想让输出带序列的结果,例如:
  - name: Fast01
    uuid: "57e0cb4d-eae5-48ec-8071-149dc2b3ea4q"
  - name: Fast02
    uuid: "96e0cb4d-eare-4802-8091-149dc2b309e0"

请问大佬如果修改一下实现这样的效果呢,求指点,不胜感激

回复 3# /zhqsystem/zhq


    感谢大佬回复,萌新一个,听的云里雾里。。。

TOP

返回列表