如何 select 一个数字的一部分作为一个简单的字符,并在 CMD 中排除所有其余部分?
how to select exactly part of a number as a simple character and exclude all the rest in CMD?
我会在下面解释我想用CMD做什么
我有这个文件名:
set "File=0119315314"
2 合 2,我想将文件名分隔为以下行:01 19 31 53 14
这里的问题是数字 31,因为“53”和“14”
当它加入时,我们有“5314”并将“31”的镜像看成“5314”
我试过了:
set "New=%File:31=%"
当我排除数字“31”时,我也刻录了字符“5314”
现在,我的序列没有得到“53”和“14”:01 19 31 53 14
你明白了吗?请问,如何解决?可能吗?
如果我没理解错的话,也许你正在寻找这样的东西:
@Echo Off
SetLocal EnableExtensions EnableDelayedExpansion
Set "f=0119315314"
Set "i=0"
For /F Delims^=^ EOL^= %%G In (
'%__AppDir__%cmd.exe /U/D/C Echo(!f!^|%__AppDir__%find.exe /V ""') Do (
Set /A "i+=1, m=i%%2"
If !m! Equ 0 (Set "s=!s!%%G ") Else Set "s=!s!%%G")
If %m% Equ 0 Set "s=%s:~,-1%"
Echo(%s%
Pause
预期结果:
01 19 31 53 14
或者您正在寻找更简单的东西:
@Echo Off
SetLocal EnableExtensions EnableDelayedExpansion
Set "f=0119315314"
For /L %%G In (0,2,20) Do If Not "!f:~%%G,2!" == "" Echo(!f:~%%G,2!
Pause
预期输出:
01
19
31
53
14
在此示例中,如果您打算使用超过 20 个字符的字符串,则可以增加 20
。
我读到 "with 2 in 2, 我想将文件名分开为这一行:01 19 31 53 14" 行,因为剩下的都是废话...
@echo off
setlocal
set "File=0119315314"
set "new="
:next
set "new=%new% %file:~0,2%" & set "file=%file:~2%" & if defined file goto next
echo %new:~1%
输出:
01 19 31 53 14
此方法可以分隔任意数量的数字对;只需将它们放在“文件”变量中...
我会在下面解释我想用CMD做什么
我有这个文件名:
set "File=0119315314"
2 合 2,我想将文件名分隔为以下行:01 19 31 53 14
这里的问题是数字 31,因为“53”和“14” 当它加入时,我们有“5314”并将“31”的镜像看成“5314”
我试过了:
set "New=%File:31=%"
当我排除数字“31”时,我也刻录了字符“5314” 现在,我的序列没有得到“53”和“14”:01 19 31 53 14
你明白了吗?请问,如何解决?可能吗?
如果我没理解错的话,也许你正在寻找这样的东西:
@Echo Off
SetLocal EnableExtensions EnableDelayedExpansion
Set "f=0119315314"
Set "i=0"
For /F Delims^=^ EOL^= %%G In (
'%__AppDir__%cmd.exe /U/D/C Echo(!f!^|%__AppDir__%find.exe /V ""') Do (
Set /A "i+=1, m=i%%2"
If !m! Equ 0 (Set "s=!s!%%G ") Else Set "s=!s!%%G")
If %m% Equ 0 Set "s=%s:~,-1%"
Echo(%s%
Pause
预期结果:
01 19 31 53 14
或者您正在寻找更简单的东西:
@Echo Off
SetLocal EnableExtensions EnableDelayedExpansion
Set "f=0119315314"
For /L %%G In (0,2,20) Do If Not "!f:~%%G,2!" == "" Echo(!f:~%%G,2!
Pause
预期输出:
01
19
31
53
14
在此示例中,如果您打算使用超过 20 个字符的字符串,则可以增加 20
。
我读到 "with 2 in 2, 我想将文件名分开为这一行:01 19 31 53 14" 行,因为剩下的都是废话...
@echo off
setlocal
set "File=0119315314"
set "new="
:next
set "new=%new% %file:~0,2%" & set "file=%file:~2%" & if defined file goto next
echo %new:~1%
输出:
01 19 31 53 14
此方法可以分隔任意数量的数字对;只需将它们放在“文件”变量中...