标题: [文本处理] 【已解决】 批处理怎样截取字符串并且按照循环次数截取? [打印本页]
作者: ⒎冄31.號 时间: 2020-1-17 06:17 标题: 【已解决】 批处理怎样截取字符串并且按照循环次数截取?
本帖最后由 ⒎冄31.號 于 2020-1-22 04:01 编辑
- @echo off
- setlocal enabledelayedexpansion
- ::定义一个变量存储名字。
- set name=文本名字
- ::定义一个变量存储文件格式。
- set format=txt
- ::定义A-Z的编码序号
- set number=ABCDEFGHIJKLMNOPQRSTUVWXYZ
- set /a Bit=0
- ::目前没有实现
- for %%i in ( "%number%" ) do (
- echo %name%!number:~%Bit%,1!.%format%
- set /a Bit+=1
- )
- pause
复制代码
我的想法是每次循环获取到的数字来替换截取字符的第几位的字母
echo %name%!number:~%Bit%,1!.%format%
我这样写好像有问题。Bit的数字好像不会变。另外我的脚本就执行一次。
还请各位老师教导一下。我的代码该如何修改。
新手小白求教。谢谢各位老师!
作者: /zhqsystem/zhq 时间: 2020-1-17 22:45
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
作者: ⒎冄31.號 时间: 2020-1-18 05:14
回复 2# /zhqsystem/zhq
老师您好。
我换了个思路。写出来了,但是还是又问题需要修改。
十分感谢您。。您提供的方法。我研究学习一下。
再次感谢您!
作者: Batcher 时间: 2020-1-18 21:54
回复 1# ⒎冄31.號 - @echo off
- setlocal enabledelayedexpansion
- REM 定义一个变量存储名字。
- set name=文本名字
- REM 定义一个变量存储文件格式。
- set format=txt
- REM 定义A-Z的编码序号
- 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
- set Bit=0
- for %%i in (%number%) do (
- call echo %name%%%number:~!Bit!,1%%.%format%
- set /a Bit+=2
- )
- pause
复制代码
作者: Batcher 时间: 2020-1-18 21:55
回复 1# ⒎冄31.號 - @echo off
- setlocal enabledelayedexpansion
- REM 定义一个变量存储名字。
- set name=文本名字
- REM 定义一个变量存储文件格式。
- set format=txt
- REM 定义A-Z的编码序号
- 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
- for %%i in (%number%) do (
- echo %name%%%i.%format%
- )
- pause
复制代码
作者: ⒎冄31.號 时间: 2020-1-22 03:36
回复 5# Batcher
谢谢老师。学习了。
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |