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

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

例子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
要求能处理多个子文件夹里的文件。谢谢!

本帖最后由 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

评分人数

TOP

回复 2# aloha20200628


    谢谢

TOP

返回列表