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

[文本处理] [已解决]如何根据内容生成新的内容?

本帖最后由 czvde 于 2019-9-27 23:08 编辑

样例
1.txt文件内容以下
ABCDEFFGGZ


2.txt里面的内容是:
新文件_A_ABCD_ABCDEFFGGZ

求助各位大神,谢谢!!
1

评分人数

    • Batcher: 感谢给帖子标题标注[已解决]字样PB + 2

  1. /*&cls
  2. @echo off
  3. setlocal EnableDelayedExpansion
  4. for /f "delims=" %%a in ('type 1.txt^|cscript -nologo -e:jscript "%~f0"') do (
  5. echo %%a
  6. )>>2.txt
  7. pause&exit
  8. */
  9. var t='', map={}, files = WScript.StdIn.ReadAll().split('\r\n');
  10. for (var i=0; i<files.length; i++){
  11.     var str = files[i].replace(/([A-Z])([A-Z]{4})([A-Z]+)/,'新文件_$1_$1$2_$1$2$3')
  12.     if(!map[str]){map[str] = true;t+=str+'\r\n';}
  13. }
  14. WSH.echo(t);
复制代码
不知道是不是需要这样的

TOP

本帖最后由 Gin_Q 于 2019-9-27 20:28 编辑

@ECHO OFF
setlocal enabledelayedexpansion
for /f %%a in (old.txt) do (set /a n+=1
set str=%%a
set str1=!str:~,1!
set str2=!str:~,4!
if !n! equ 1 echo _!str1!_!str2!_!str!
if !n! equ 2 echo _!str1!_!str2!_!str!
if !n! equ 3 echo _!str1!_!str2!_!str!
)
pause

TOP

  1. @echo off
  2. setlocal enabledelayedexpansion
  3. (for /f %%i in ('type "1.txt"') do (
  4.     set str=%%i
  5.     echo 新文件_!str:~0,1!_!str:~0,4!_!str!
  6. ))>"2.txt"
复制代码
1

评分人数

我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

本帖最后由 czvde 于 2019-9-27 23:05 编辑

回复 4# Batcher

您的这个很简洁很好用,请问如果是以下这两种情况,又需要怎样修改才可以实现?

第一种样例
新文件_Z_FGGZ_ABCDEFFGGZ

第二种样例
新文件_Z_ZGGF_ABCDEFFGGZ

TOP

回复 5# czvde
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. (for /f %%i in ('type "1.txt"') do (
  4.     set str=%%i
  5.     echo 新文件_!str:~-1!_!str:~-4!_!str!
  6. ))>"第一种样例生成效果.txt"
复制代码
1

评分人数

我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

回复 5# czvde
字符截取
  1. _!str:~-1!_!str:~-4!
复制代码

TOP

回复 5# czvde
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. (for /f %%i in ('type "1.txt"') do (
  4.     set str=%%i
  5.     echo 新文件_!str:~-1!_!str:~-1!!str:~-2,1!!str:~-3,1!!str:~-4,1!_!str!
  6. ))>"第二种样例生成效果.txt"
复制代码
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

回复 5# czvde


推荐学习 set 命令视频教程
http://bbs.bathome.net/thread-31727-1-1.html
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

本帖最后由 czvde 于 2019-9-27 22:02 编辑

回复 9# Batcher

教程很实用,感谢推荐

TOP

返回列表