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

[文本处理] [已解决] 批处理加字符文本编辑

[复制链接]
发表于 2013-11-5 15:40:30 | 显示全部楼层 |阅读模式
本帖最后由 ht512 于 2013-11-5 17:26 编辑

各位大哥大姐们: 我想处理一堆文本 文本第19行都是类似于:KeyFilename=董存瑞.id 这样的姓名
姓名每个字中间都需要加一个间隔符 &

最后达到的效果为:KeyFilename=&董&存&瑞.id

我自己写了一段可以实现,但是太复杂了。能否实现直接输入整个姓名就可以修改呢?不用分三次输入 希望大哥大姐给修改一下呗
  1. @echo off&setlocal enabledelayedexpansion
  2. set /p var=请输入用户名:
  3. set /p var2=请输入用户名:
  4. set /p var3=请输入用户名:
  5. for /f "delims=" %%a in ('D:\123\ABC.ini"') do (
  6. set /a n+=1
  7. if !n! equ 1 (
  8. echo %%a>"GD:\123\ABC.ini"
  9. ) else (
  10. if !n! equ 19 (   
  11. echo KeyFilename=&%var%&%var2%&%var3%.id >>"D:\123\ABC.ini"
  12. ) else (
  13. echo.%%a>>"D:\123\ABC.ini"
  14. )
  15. )
  16. )
复制代码
发表于 2013-11-5 15:50:56 | 显示全部楼层
给楼主一个示例
  1. @echo off
  2. set /p var=请输入用户名:
  3. echo,KeyFilename=^&%var:~,1%^&%var:~1,1%^&%var:~-1%.id
  4. pause
复制代码
发表于 2013-11-5 15:55:40 | 显示全部楼层
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. set /p var=请输入用户名:
  4. (for /f "delims=" %%a in (D:\123\ABC.ini) do (
  5.     set /a n+=1
  6.     if !n! equ 19 (
  7.         echo KeyFilename=^&%var:~0,1%^&%var:~1,1%^&%var:~2,1%.id
  8.     ) else (
  9.         echo,%%a
  10.     )
  11. ))>D:\123\ABC_new.ini
复制代码
 楼主| 发表于 2013-11-5 16:18:25 | 显示全部楼层
本帖最后由 ht512 于 2013-11-5 16:49 编辑

回复 2# foxJL


  麻烦我想再问一下,如果同时修改
第20行内容为ABC=123
第21行内容为MON=456  
     该加什么代码  

另外如果名字是两个字如:张三
就变成 &张&三&三 了
期待解决办法
 楼主| 发表于 2013-11-5 16:18:58 | 显示全部楼层
本帖最后由 ht512 于 2013-11-5 16:49 编辑

回复 3# DAIC


  麻烦我想再问一下,如果同时修改
第20行内容为ABC=123
第21行内容为MON=456  
     该加什么代码  

另外如果名字是两个字如:张三
就变成 &张&三&三 了
期待解决办法
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-20 19:53 , Processed in 0.032695 second(s), 17 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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