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

[文本处理] 【已解决】 批处理怎样截取字符串并且按照循环次数截取?

[复制链接]
发表于 2020-1-17 06:17:33 | 显示全部楼层 |阅读模式
本帖最后由 ⒎冄31.號 于 2020-1-22 04:01 编辑
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. ::定义一个变量存储名字。
  4. set name=文本名字
  5. ::定义一个变量存储文件格式。
  6. set format=txt
  7. ::定义A-Z的编码序号
  8. set number=ABCDEFGHIJKLMNOPQRSTUVWXYZ
  9. set /a Bit=0
  10. ::目前没有实现
  11. for %%i in ( "%number%" ) do (
  12. echo %name%!number:~%Bit%,1!.%format%
  13. set /a Bit+=1
  14. )
  15. pause
复制代码
我的想法是每次循环获取到的数字来替换截取字符的第几位的字母
echo %name%!number:~%Bit%,1!.%format%
我这样写好像有问题。Bit的数字好像不会变。另外我的脚本就执行一次。

还请各位老师教导一下。我的代码该如何修改。

新手小白求教。谢谢各位老师!
发表于 2020-1-17 22:45:33 | 显示全部楼层
set number=ABCDEFGHIJKLMNOPQRSTUVWXYZ
call:0
set 文本名字
pause
goto:eof
:0
set "n=-1"&&rem 这里只能为-1
:1
set/a "n+=1"
set/a "m=n+10"&&rem 这里的值是循环起始量默认+10,需要延迟变量开启
if /i "!number:~%n%,1!"=="" (set "n="&&goto:eof)else set "文本名字!m!=!number:~%n%,1!"
goto:1

评分

参与人数 1技术 +1 收起 理由
⒎冄31.號 + 1 受教

查看全部评分

 楼主| 发表于 2020-1-18 05:14:59 | 显示全部楼层
回复 2# /zhqsystem/zhq


    老师您好。
我换了个思路。写出来了,但是还是又问题需要修改。

十分感谢您。。您提供的方法。我研究学习一下。

再次感谢您!
发表于 2020-1-18 21:54:02 | 显示全部楼层
回复 1# ⒎冄31.號
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. REM 定义一个变量存储名字。
  4. set name=文本名字
  5. REM 定义一个变量存储文件格式。
  6. set format=txt
  7. REM 定义A-Z的编码序号
  8. set number=A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
  9. set Bit=0
  10. for %%i in (%number%) do (
  11.     call echo %name%%%number:~!Bit!,1%%.%format%
  12.     set /a Bit+=2
  13. )
  14. pause
复制代码

评分

参与人数 1技术 +1 收起 理由
⒎冄31.號 + 1 受教

查看全部评分

发表于 2020-1-18 21:55:36 | 显示全部楼层
回复 1# ⒎冄31.號
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. REM 定义一个变量存储名字。
  4. set name=文本名字
  5. REM 定义一个变量存储文件格式。
  6. set format=txt
  7. REM 定义A-Z的编码序号
  8. set number=A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
  9. for %%i in (%number%) do (
  10.     echo %name%%%i.%format%
  11. )
  12. pause
复制代码

评分

参与人数 1技术 +1 收起 理由
⒎冄31.號 + 1 受教

查看全部评分

 楼主| 发表于 2020-1-22 03:36:15 | 显示全部楼层
回复 5# Batcher


    谢谢老师。学习了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-19 14:27 , Processed in 0.020769 second(s), 9 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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