找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 8737|回复: 2

[文本处理] 求一个批处理把内容复制到某字符前面谢谢!

[复制链接]
发表于 2025-2-8 22:21:30 | 显示全部楼层 |阅读模式
例子1 把内容Q355B复制到&字符前面

处理前
P: L100X7
M: Q355B
LP: 8045
SA100 SB100 TA7 TB7
DB21.5 X30 TR50
DB21.5 X90 TR50
MKFF-1D2W35-J3 & X420
M30
END

处理后
P: L100X7
M: Q355B
LP: 8045
SA100 SB100 TA7 TB7
DB21.5 X30 TR50
DB21.5 X90 TR50
MKFF-1D2W35-J3 Q355B& X420
M30
END

例子2 把内容A3复制到&字符前面
处理前
P: L100X7
M: A3
LP: 8045
SA100 SB100 TA7 TB7
DB21.5 X30 TR50
DB21.5 X90 TR50
MKFF-1D2W35-J3 & X420
M30
END

处理后
P: L100X7
M: A3
LP: 8045
SA100 SB100 TA7 TB7
DB21.5 X30 TR50
DB21.5 X90 TR50
MKFF-1D2W35-J3 A3& X420
M30
END
要求能处理多个子文件夹里的文件。谢谢!
发表于 2025-2-9 09:36:02 | 显示全部楼层
本帖最后由 aloha20200628 于 2025-2-9 09:37 编辑

回复 1# s091200

给一个纯批处版本,在楼主前帖(http://www.bathome.net/thread-70440-1-1.html)中给的是 bat+sed 版本,以下代码中首行变量 n=2,用于前帖则改为 n=1

  1. @echo off &setlocal &set "n=2"
  2. for /f "delims=" %%F in ('dir /b/s/a-d *.txt') do (
  3.    (for /l %%n in (1,1,%n%) do set/p "v=")<"%%F"
  4.    for /f "tokens=1* delims=: " %%a in ('echo,%%v%%') do set "v=%%b"
  5.    (for /f "usebackq delims=" %%a in ("%%F") do (
  6.        set "a=%%a" &setlocal enabledelayedexpansion
  7.        if "!a:&=!" neq "!a!" for %%v in ("!v!") do set "a=!a:&=%%~v&!"
  8.        echo,!a!&endlocal))>"%%~dpnF.new%%~xF")
  9. pause&exit/b
复制代码

评分

参与人数 1技术 +1 收起 理由
s091200 + 1 乐于助人

查看全部评分

 楼主| 发表于 2025-2-9 22:19:19 | 显示全部楼层
回复 2# aloha20200628


    谢谢
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-17 10:21 , Processed in 0.017303 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表